|
进程_取子进程ID_模糊 | 整数型 | |
|
进程ID | 整数型 | | | |
子进程名 | 文本型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 |
szExeFile | 字节集 | | |
hSnapshort | 整数型 | | |
pe32 | PROCESSENTRY32W | | |
bRet | 逻辑型 | | |
hProcess | 整数型 | | |
pbi | PROCESS_BASIC_INFORMATION | | |
hProcessID | 整数型 | | |
szExeFile =
删除Unicode结尾空白字节 (编码_Ansi到Unicode (子进程名,
))
hProcessID =
#INVALID_HANDLE_VALUE
如果真 (szExeFile =
{ })
返回 (hProcessID
)
hSnapshort =
CreateToolhelp32Snapshot ( #TH32CS_SNAPPROCESS, 0
)
如果真 (hSnapshort =
#INVALID_HANDLE_VALUE )
返回 (hProcessID
)
pe32.dwSize = 556
bRet =
Process32FirstW (hSnapshort, pe32
)
判断循环首 (bRet
)
如果真 (寻找字节集 (删除Unicode结尾空白字节 (到字节集 (pe32.szExeFile
)), szExeFile,
) ≥ 1
)

hProcess =
OpenProcess ( #PROCESS_QUERY_INFORMATION, 0, pe32.th32ProcessID
)

bRet =
NtQueryInformationProcess (hProcess,
#NULL, 取数据_通用型 (pbi
), 24,
#NULL ) ≥ 0


如果真 (bRet
)


如果真 (pbi.InheritedFromUniqueProcessId = 进程ID
)



hProcessID = pe32.th32ProcessID



跳出循环 ()




CloseHandle (hProcess)
bRet = Process32NextW (hSnapshort, pe32)
判断循环尾 ()CloseHandle (hSnapshort
)返回 (hProcessID
)