发表回复 
如何获取父进程 PID
2011-08-13, 00 : 15
如何获取父进程 PID
[i=s] 本帖最后由 111111 于 2011-8-13 00:40 编辑 [/i]

已知某进程PID 想获取此进程的父进程PID 怎么办
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2011-08-13, 00 : 40
 
搞定了
参考http://www.autohotkey.com/forum/viewtopic.php?t=18550
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2011-08-13, 10 : 04
 
上面官方论坛的例子使用 Windows API, 我这里列举使用 WMI 的方法:
代码: (全选)
strComputer := "."
SpecificProcessID := 1296   ; 请把 1296 替换为真实的进程 ID

objWMIService := ComObjGet("winmgmts:\\" strComputer "\root\CIMV2")
colItems := objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE ProcessId = " SpecificProcessID)

For objItem in colItems
{
    MsgBox, % "Name: " objItem.Name "`n"
        . "ParentProcessId: " objItem.ParentProcessId
}
Pause
提示: 关于代码中命令和函数的详细用法, 请参阅 [AutoHotkey 中文在线帮助], 关于 WMI 详细说明, 请参阅 [MSDN 上的 WMI 参考]

注意: 进程 ID 可以重用的, 它只在进程的生存期标识一个进程, 所以可能得到的 ParentProcessId 所指向的进程已经终止了, 也可能指向的进程并不是我们期望的进程(此时的情况是原来的进程已经终止, 后面启动的进程重用了此 ID, 这种情况可以根据创建时间判断出来). 所以对这个获取的进程 ID 进行操作需要谨慎.

相关提示: 使用 WMI 中的 Win32_Process 可以获取与进程相关的许多信息, 例如进程所占用的 CPU 时间和内存等, 具体请参见其属性.

AutoHotkey 学习指南 我的帖子
我不生产代码,我只是 AutoHotkey 的搬运工:从官方到中文;从其他语言到 AutoHotkey;有时则把 AutoHotkey 搬运到普通用户面前。
访问这个用户的网站 查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
[+] 1用户表示感谢amnesiac
2011-08-13, 15 : 51
 
学习!mark

简单,再简单一点儿
博客 http://blog.csdn.net/liuyukuan
访问这个用户的网站 查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2011-11-29, 20 : 07
 
学习了,顶起

准备研究一下 AHK脚本语言
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2011-12-24, 21 : 10
 
WMI的方法学习了

学问学问 边学边问 <br />
问答问答 且问且答
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2017-05-01, 17 : 10
RE: 如何获取父进程 PID
好贴,学习了WMI方法^_^
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
发表回复 


论坛跳转:


联系我们 | Autohotkey 中文站 | 回到顶部 | 回到正文区 | 精简(归档)模式 | RSS 聚合