进程名取进程ID
'-------------------------------------------' 根据进程名取进程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
差很多东西- - 这叫“根据进程名取进程ID” 谢谢标题已改 如果有多个qq.exe怎么办 jiedengye 发表于 2010-12-9 13:03 static/image/common/back.gif
如果有多个qq.exe怎么办
这个问题问得太好了,嘿嘿……学习了!
页:
[1]