找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 6423|回复: 5

进程名取进程ID

 火.. [复制链接]

1214

主题

352

回帖

11

精华

管理员

菜鸟

积分
93755

贡献奖关注奖人气王精英奖乐于助人勋章

发表于 2010-7-11 09:16:00 | 显示全部楼层 |阅读模式
'-------------------------------------------
' 根据进程名取进程ID
' 参数:可执行文件名(含扩展名)
' 返回:进程ID。0表示无
'例子: GetProcessIdFromName("QQ.EXE")
'-------------------------------------------
Private Function GetProcessIdFromName(ByVal sName As String) As Long
Dim hSnapshot As Long
Dim lpPE As PROCESSENTRY32W
Dim lpWinlogon As Long
    hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)
    Debug.Assert hSnapshot
    lpPE.dwSize = Len(lpPE)
    If Process32First(hSnapshot, lpPE) Then
        lpWinlogon = StrPtr(sName)
        Do
            If lstrcmpi(lpPE.szExeFile(1), lpWinlogon) = 0 Then
                GetProcessIdFromName = lpPE.h32ProcessID
                Exit Do
            End If
            If Process32Next(hSnapshot, lpPE) = 0 Then Exit Do
        Loop
    End If
    Call CloseHandle(hSnapshot)
End Function
【VB】QQ群:1422505加的请打上VB好友
【易语言】QQ群:9531809  或 177048
【FOXPRO】QQ群:6580324  或 33659603
【C/C++/VC】QQ群:3777552
【NiceBasic】QQ群:3703755

0

主题

36

回帖

0

精华

铜牌会员

积分
50
QQ
发表于 2010-11-27 14:23:35 | 显示全部楼层
差很多东西- -

859

主题

2638

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36140
发表于 2010-11-27 15:12:52 | 显示全部楼层
这叫“根据进程名取进程ID”

1214

主题

352

回帖

11

精华

管理员

菜鸟

积分
93755

贡献奖关注奖人气王精英奖乐于助人勋章

 楼主| 发表于 2010-11-27 21:05:51 | 显示全部楼层
谢谢标题已改
【VB】QQ群:1422505加的请打上VB好友
【易语言】QQ群:9531809  或 177048
【FOXPRO】QQ群:6580324  或 33659603
【C/C++/VC】QQ群:3777552
【NiceBasic】QQ群:3703755

29

主题

134

回帖

4

精华

论坛元老

积分
5970
QQ
发表于 2010-12-9 13:03:29 | 显示全部楼层
如果有多个qq.exe怎么办

0

主题

20

回帖

0

精华

铜牌会员

积分
44
发表于 2011-5-15 07:45:14 | 显示全部楼层
jiedengye 发表于 2010-12-9 13:03
如果有多个qq.exe怎么办

这个问题问得太好了,嘿嘿……学习了!
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表