已知某一进程的所有线程号能否查出该进程的PID?
WINDOWS中单进程多线程的程序,现在已知某一进程的所有线程号能否用AU3查出该进程的PID?比如WINDOWS 7中有一个进程的PID是3592,对应的线程号为:3348
4624
4820
4784
4888
4908
4896
4900
4768
4744
4736
4540
4528
4532
4936
4956
5000
5028
5044
4480
现在能否通过这些线程号,用AU3查询到该进程的PID3592呢? 給您參考
Opt("MustDeclareVars", 1)
Dim $i,$vPID,$temp
Local $list = ProcessList()
For $i = 1 To $list
$temp=$list[$i]
$vPID=$list[$i]
MsgBox(0,$temp,$vPID)
Next
我的機器人SKYPE帳號:taiwan-game 本帖最后由 user3000 于 2014-4-6 09:04 编辑
回复 1# smooth
这是获取父子进程的问题。
#Include <WinAPIEx.au3>
_WinAPI_EnumChildProcess ('进程PID' )
_WinAPI_GetParentProcess ( '进程PID' ) 回复 3# user3000
我的问题好像还不是父子进程的问题。比如我启动了NC财务软件的中间件JAVA.EXE,然后会它使用ORACLE数据库的用户USER来与NC财务软件连接。我在ORACLE的SQLPLUS中查询到与用户USER发生连接的SPID有20个数字,都不是使用查询父子进程函数查到到PID。 本帖最后由 nmgwddj 于 2014-4-9 09:13 编辑
Thread32First
OpenThread
ZwQueryInformationThread
http://social.msdn.microsoft.com/Forums/zh-CN/77446ef8-e6e2-4681-aef7-bac686cf4507/id?forum=visualcpluszhchs
用C改过一个别人的例子,具体实现方法是用Thread32First枚举系统所有线程,根据线程ID使用OpenThread打开,再用ZwQueryInformationThread获取所属进程PID 回复 5# nmgwddj
好像这个可以达到目的,但是是用C语言完成的,不知道如何转换成AU3。 回复 6# smooth
收点钱,自己写了1个小时,在Thread32First步骤一直返回错误,后来百度了一下找到这里的源码http://www.codeproject.com/threads/pausep.asp。参考 _ProcSuspend 函数
学习了,学习了, 回复smooth
收点钱,自己写了1个小时,在Thread32First步骤一直返回错误,后来百度了一下找到这里的源 ...
nmgwddj 发表于 2014-4-14 00:06 http://www.autoitx.com/images/common/back.gif
要的就是这样的,非常感谢!慢慢研究。 不知根据线程查出进程有什么实际作用?能否举一两实例,楼主
页:
[1]