C carolson2 Unregistered / Unconfirmed GUEST, unregistred user! 2007-10-25 #1 shelle.. or winexec 执行程序A时候设置为 隐藏。<br><br>现在另外一个程序希望获得进程A 是否被隐藏,如何操作? (A有多个副本,有的隐藏有的没隐藏)<br><br>谢谢
shelle.. or winexec 执行程序A时候设置为 隐藏。<br><br>现在另外一个程序希望获得进程A 是否被隐藏,如何操作? (A有多个副本,有的隐藏有的没隐藏)<br><br>谢谢
H hs-kill Unregistered / Unconfirmed GUEST, unregistred user! 2007-10-25 #2 用process32first、process32next先找出所有程序A副本的进程ID<br>用EnumWindows列出系统所有窗口,然后在其回调函数里用GetWindowThreadProcessId判断是否为程序A副本的窗体,用IsWindowVisible判断窗体是否被隐藏<br>自己维护一个列表,一个进程包含多个窗体,如果被隐藏,所有窗体IsWindowVisible都为false<br>否则没有
用process32first、process32next先找出所有程序A副本的进程ID<br>用EnumWindows列出系统所有窗口,然后在其回调函数里用GetWindowThreadProcessId判断是否为程序A副本的窗体,用IsWindowVisible判断窗体是否被隐藏<br>自己维护一个列表,一个进程包含多个窗体,如果被隐藏,所有窗体IsWindowVisible都为false<br>否则没有
C carolson2 Unregistered / Unconfirmed GUEST, unregistred user! 2007-10-25 #3 补充一下:<br>隐藏操作是简单的: winexec('程序',SW_HIDE);<br><br>我的思路是:<br>获得所有进程,判断a: 是否为定义的程序, b:是否为隐藏的。<br>满足a,b就操作。<br><br>正读 IsWindowVisible :)
补充一下:<br>隐藏操作是简单的: winexec('程序',SW_HIDE);<br><br>我的思路是:<br>获得所有进程,判断a: 是否为定义的程序, b:是否为隐藏的。<br>满足a,b就操作。<br><br>正读 IsWindowVisible :)
H hs-kill Unregistered / Unconfirmed GUEST, unregistred user! 2007-10-25 #4 一个delphi程序进程有多个窗体,其中2个是肯定隐藏的,一个是application窗体,另一个是个对话框,所以你要判断该进程的所有窗体是否都为隐藏
C carolson2 Unregistered / Unconfirmed GUEST, unregistred user! 2007-10-25 #5 请问前辈有无这样一个简单的api操作:<br>NeedHandle:= 这个操作(...'程序'.... HIDE)<br><br>这样直接就得到handle 了:) 比如 winexec 执行某程序时候返回一个handle ?
请问前辈有无这样一个简单的api操作:<br>NeedHandle:= 这个操作(...'程序'.... HIDE)<br><br>这样直接就得到handle 了:) 比如 winexec 执行某程序时候返回一个handle ?
H hs-kill Unregistered / Unconfirmed GUEST, unregistred user! 2007-10-25 #6 不一定啊......看你要用的API的说明了,有的是进程handle,有的是窗口handle