| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1706 人关注过本帖
标题:求助 批量获取多个进程PID
只看楼主 加入收藏
wuyuede
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2007-3-29
结帖率:75%
收藏
已结贴  问题点数:0 回复次数:11 
求助 批量获取多个进程PID


Dim sysps As String

sysps = Array("1.exe", "2exe", "3.exe", "4exe",)





Dim hProcess As Long
Dim pid As Long
pid = GetPsPid(sysps)

        
        hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, pid)
If hProcess = 0 Then
                hProcess = LzOpenProcess(PROCESS_ALL_ACCESS, pid)
        End If
Call TerminateProcess1(hProcess, 0)







总是出错,我就是要批量取 多个进程的PID ,在TIMER里循环 取,如果发现这几个进程,我就 结束他,麻烦 高手了,帮我看看

搜索更多相关主题的帖子: PID 获取 批量 进程 
2010-01-10 17:24
wuyuede
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2007-3-29
收藏
得分:0 
大家帮忙给看看,谢谢
2010-01-11 15:29
bczgvip
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
注 册:2009-2-26
收藏
得分:14 
GetPsPid(sysps)
GetPsPid 呢?
2010-01-11 20:01
wuyuede
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2007-3-29
收藏
得分:0 
回复 3楼 bczgvip
斑竹,谢谢了,快帮我看看吧,头大了



Function GetPsPid(sProcess As String) As Long
Dim lSnapShot As Long
Dim lNextProcess As Long
Dim tPE As PROCESSENTRY32
lSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0&)
If lSnapShot <> -1 Then
tPE.dwSize = Len(tPE)
lNextProcess = Process32First(lSnapShot, tPE)
Do While lNextProcess
If LCase$(sProcess) = LCase$(Left(tPE.szExeFile, InStr(1, tPE.szExeFile, Chr(0)) - 1)) Then
Dim lProcess As Long
Dim lExitCode As Long
GetPsPid = tPE.th32ProcessID

CloseHandle lProcess
End If
lNextProcess = Process32Next(lSnapShot, tPE)
Loop
CloseHandle (lSnapShot)
End If
End Function
2010-01-12 01:21
bczgvip
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
注 册:2009-2-26
收藏
得分:0 
2010-01-12 04:54
wuyuede
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2007-3-29
收藏
得分:0 
谢谢楼上,我测试下
2010-01-12 10:11
wuyuede
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2007-3-29
收藏
得分:0 
我是有 多个  进程,需要取PID,   sysps = Array("1.exe", "2exe", "3.exe", "4exe",),  斑竹可以帮我改下吗
2010-01-12 10:21
bczgvip
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
注 册:2009-2-26
收藏
得分:0 
example_Process.zip (5.74 KB)
收到的鲜花
  • wuyuede2010-01-12 22:24 送鲜花  5朵   附言:我很赞同
2010-01-12 19:09
wuyuede
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2007-3-29
收藏
得分:0 
回复 8楼 bczgvip
斑竹,我 还有个问题,你刚才写的这个程序和我要求的有点小差异,我把原代码,发你,你帮我看看吧
 
 
vb取PID结束进程.rar (17.03 KB)
  http://down.

这个是我自己修改过的,但是运行起来 总是很卡,卡的都不行了,估计是哪个变量定义有问题,麻烦你给我看看,谢谢

[ 本帖最后由 wuyuede 于 2010-1-13 17:48 编辑 ]
2010-01-12 22:39
freeforever
Rank: 4
等 级:业余侠客
威 望:3
帖 子:368
专家分:201
注 册:2005-11-2
收藏
得分:0 
hnd = OpenProcess(PROCESS_TERMINATE, 0, lngPID)
GetExitCodeProcess hnd, lExitCode
TerminateProcess hnd, lExitCode

你中间少了一步吧?

其实我也很无聊!
2010-01-20 14:14
快速回复:求助 批量获取多个进程PID
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021638 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved