关于进程的问题!大家多看看!(50分)

  • 主题发起人 主题发起人 易名烦
  • 开始时间 开始时间

易名烦

Unregistered / Unconfirmed
GUEST, unregistred user!
&nbsp; &nbsp; 1.窗口的标题是动态的,怎么获得它的句柄?<br>&nbsp; &nbsp; &nbsp;2.如果找到子窗口的句柄,怎么获得父窗口的句柄呢?<br>&nbsp; &nbsp; &nbsp;3.如果已知进程名,怎么获得句柄?<br>&nbsp; &nbsp; 请各位指点迷津!<br>&nbsp; &nbsp; &nbsp;
 
1.可以根据窗体的类名找到句柄 <br>&nbsp; H:=FindWindow(TForm,nil);<br>2.正在研究中。<br>3.用CreateToolhelp32Snapshot,Process32First,Process32Next<br>根据你的进程名,可以得到进程的ID,已知ID,用OpenProcess就可以得到<br>进程的句柄。<br><br><br>// &nbsp; &nbsp;如有不明白的,可以mail to me :swarrm<br><br><br>
 
如有不明白的,可以mail to me :swarmmail@163.net<br>
 
2:GetParent();
 
第二个问题:<br><br><br>例如:<br>procedure TForm1.Button1Click(Sender: TObject);<br>begin<br>&nbsp; ShowWindow(GetParent(Edit1.Handle),SW_HIDE);<br>end;<br>
 
对不起,我不是说的窗口中的控件,而是一个子窗口。<br>如OUTLOOK EXPRESS,它的标题是变化的,但始终有一个收发邮件的进度条的窗口的标题是<br>“OUTLOOK EXPRESS”,所以很容易找到这个窗口的名柄,我想根据这相名柄找它主窗口的<br>句柄。<br>&nbsp; &nbsp;我这个可能是笨办法,如果有其它方法也当然也可以啊。
 
用FINDWINDOW()传入不同的参数来解决这个问题
 
大哥,不行吧!
 
hwnd:=FindWindow('','');<br>配合<br>hwnd:=Getwindow(hwnd,GW_HWNDFIRST);<br>&nbsp;hwnd:=Getwindow(hwnd,GW_HWNDNEXT);
 
各位对不住了!不过我还是不太明白,如果您有空,请写段代码给我.<br>是这样的,OUTLOOK EXPRESS有个子窗口的标题就是OUTLOOK EXPRESS,但是它的主窗口的标题<br>是不断改变的,而子窗口不变,那以就要根据子窗口找主窗口的句柄.
 
后退
顶部