精易论坛

标题: 求助怎么获取外部程序创建的进程PID [打印本页]

作者: 单名“真”    时间: 2013-9-3 08:44
标题: 求助怎么获取外部程序创建的进程PID
怎么查看外部程序 创建的新进程PID
比如 我用CreateProcessA运行了 1.exe可以得到得到他的 PID,  1.exe又运行2.exe,这个2.exe的进程PID有办法获取吗?怎么获取

作者: liux    时间: 2013-9-3 08:46
进程取ID(“1.exe”)
作者: 单名“真”    时间: 2013-9-3 08:48
qq445818534 发表于 2013-9-3 08:46
进程取ID(“1.exe”)

我要取的是2.exe的进程ID 而且2的进程名是随机变动的 不是固定的
作者: liux    时间: 2013-9-3 08:49
可以取窗口类名啊
作者: liux    时间: 2013-9-3 08:53
PID也是靠进程才能读出来的  如果你不知道进程名称  怎么取PID呢?
作者: 单名“真”    时间: 2013-9-3 09:06
qq445818534 发表于 2013-9-3 08:53
PID也是靠进程才能读出来的  如果你不知道进程名称  怎么取PID呢?

不行,因为2.exe的类名 进程名之类的都是未知的  只知道1.exe的 没办法取2.exe的啊
作者: liux    时间: 2013-9-3 09:11
....无语   你用精易编译助手  查看下类名不久可以了
作者: fml224    时间: 2013-9-3 09:14
取指进程.rar (1010 Bytes, 下载次数: 16)
可取变化中的进程PID

作者: 单名“真”    时间: 2013-9-3 09:15
qq445818534 发表于 2013-9-3 09:11
....无语   你用精易编译助手  查看下类名不久可以了

我未知的意思是 变动的   我知道 助手可以查
作者: liux    时间: 2013-9-3 09:16
那就取窗口句柄吧
作者: 断魂——磊    时间: 2013-9-3 09:17
感觉楼主这设计有点模糊     运行了1    1运行了2    2是什么程序 如果和1是套装程序  你可以赋予它标题类名    有助于你获得2的PID   如果是独立程序  你可以用2的名称 获得ID    如果是 独立自变程序  就像病毒.你可以在运行2的时候用1程序记录下2的当前名称路径  就算2开启后名称标题什么的都改变了 在进程ID里面  他依然是以当前程序名称存在的.

作者: 单名“真”    时间: 2013-9-3 09:42
fml224 发表于 2013-9-3 09:14
可取变化中的进程PID

不行 那个进程名他是每次启动都会变动的不是固定的
作者: 单名“真”    时间: 2013-9-4 12:33
断魂——磊 发表于 2013-9-3 09:17
感觉楼主这设计有点模糊     运行了1    1运行了2    2是什么程序 如果和1是套装程序  你可以赋予它标题类 ...

是这样的 可能我没说清楚

就像有些游戏   登录器跟 游戏其实不是同一个程序    登录器就是1.exe  游戏程序就是2.exe   但是 这个2.exe 类名 窗口句柄这些都是没办法确定的  都是会变的  有没有什么办法 通过1.exe程序来找到2.exe的进程ID

作者: 断魂——磊    时间: 2013-9-5 19:56
抱歉 在游戏中这种情况不可能出现..登录程序运行的游戏程序必须有固定路径及名称  不然下次运行将失败.理论上来说 你这个东西 应该 有 记录的地方   可能是 TXT  也可能是 INI   总之  第一个程序要运行 第二个程序  必须提供 该程序的全名称路径.这其中也包含要被运行的程序名称.一般程序2的名称是不会变的.我前段时间做过一个仿病毒的程序.就是开机自启动  模仿系统进程名称..没有固定类名和句柄.也没有固定名称.然为了达到开机自启动的目的.我就用了一个INI文件记录下他运行前的名称  和运行后的名称..运行之后  他是看不见的.在进程中也很难发现.因为他随机采用系统进程的名称存在的..当然我还要记录下他运行后的名称 以便 下次开启用这个名称启动 该程序  ...怎么说呢  感觉 你说的程序 就有点这个意思   不懂再追问




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4