Y
yuejun
Unregistered / Unconfirmed
GUEST, unregistred user!
最终是实现向应用程序A发送消息.<br>但程序A的类名在每次重新启动后都会变化,当然标题也是会变化的, 所以不能用FindWindow 查找获得.<br><br>我想了一种办法,获取该程序的进程句柄, 但找到了进程句柄又不知道如何获取程序主窗口句柄.<br><br>var<br> lp:tprocessentry32;<br> shandle:thandle;<br> hh,AProcHandle:THandle;<br> found:boolean;<br>begin<br> result := 0;<br> hh := 0;<br> AProcHandle := 0;<br> shandle:=createtoolhelp32snapshot(TH32CS_SNAPALL,0);<br> lp.dwSize := sizeof(lp);<br> found:=process32first(shandle,lp);<br> while found do<br> begin<br> if uppercase(extractfilename(lp.szExeFile))='A.EXE' then<br> begin<br><br> AProcHandle:=OpenProcess(PROCESS_ALL_ACCESS,false,lp.th32ProcessID);<br> //上一步获取的是进程序句柄<br> break;<br> end;<br> found:=process32next(sshandle,lppe);<br> end;<br><br>//?该如何通过 AProcHandle 获取窗口句柄? <br><br>end;<br><br><br>//或者还有其它办法吗? 谢谢了