网上找到一段PID是对的,但是H.TOSTRING并不是A.EXE的窗体句柄怎么通过PID得到A.EXE的窗体句柄呢,高手帮忙给段代码谢谢
碰到类似QQ登录这样的窗体,没有左上角TEXT值怎么通过它的PID获得它的FindWindow的值
那么可以这样,先获取所有窗口的句柄然后根据句柄获取PID,然后进行对比
我用ret=ShellExecute()启动了一个外部程序ret为返回的HINSTANCE值,能通过ret得到已经运行的外部程序的主窗口句柄HWND hWnd我想向其发送消息。
lpOperation:打开程序执行的操作共预留有"open","explore","print"三种方式,此参数可以省略此时将依据打开的文件(lpFile)的类型执行相应的操作,比如:如果lpFile为一文本攵件那么将会在与该文件相关联的程序中打开它;
"记记"过的程序(如WinWord)不必提供此参数;
nShowCmd:打开文件后程序窗体如何显示。
为什么要从shellexecute來得到句柄然后对其操作呢
根本就没有标准意义的“主窗口”,所以没有一个合适的API来满足你的要求
你只能用一些特殊的办法。
楼上說的FindWindow就是可行的方法
不过我觉得你可以贴出你实际上需要的是什么?
就是你要找到这个窗口句柄的原因也许会有更好的办法。
我用spy++看箌的类名
//不过我觉得你可以贴出你实际上需要的是什么
我是想在外部程序没有执行的情况下,使它执行然后向它发送消息。