用process explore可以获取到未响应窗口的pid,而用spy++以及WindowFromPoint()却不行

cvster 2018-07-28 01:52:10


如图,当梦幻西游的窗口未响应时,我用WindowFromPoint()获取其窗口句柄(先获取鼠标位置,再将位置传入WindowFromPoint),然后根据句柄得到PID,结果得到的是DWM.exe的PID,也就是桌面窗口管理器。用vs的spy++也是得到同样的结果。
当我用Process Explorer上的寻找窗口按钮,将其拖到梦幻西游窗口上时,可以正确获得梦幻西游的PID。

求教各位大佬,如何获取梦幻西游窗口的PID,而不是DWM.exe的PID?
另外不知道发帖板块对不对,请大家指正
...全文
757 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
cvster 2020-01-06
  • 打赏
  • 举报
回复
引用 8 楼 WQR1994 的回复:
你搞好没,结帖?
第一次发帖,不知道有结贴功能,尴尬。谢谢哈
data-v-165b75c4 2019-11-28
  • 打赏
  • 举报
回复
你搞好没,结帖?
cvster 2019-11-27
  • 打赏
  • 举报
回复
引用 6 楼 WQR1994 的回复:
未公开是说微软没有文档,但还是有资料的



老哥稳啊
cvster 2019-11-19
  • 打赏
  • 举报
回复
引用 3 楼 WQR1994 的回复:
参考我的文章 https://blog.csdn.net/WQR1994/article/details/101540138



未公开API都能被你发现!我去试试,非常感谢。
cvster 2019-11-19
  • 打赏
  • 举报
回复
引用 2 楼 zara 的回复:
换个方法,比如通过窗口类/标题查找窗口,或进程枚举找寻到游戏进程?


这个可以,但是我是多开的,几个窗口名字都一样。用鼠标的话就可以挂起指定的窗口了
data-v-165b75c4 2019-11-19
  • 打赏
  • 举报
回复
未公开是说微软没有文档,但还是有资料的
data-v-165b75c4 2019-09-27
  • 打赏
  • 举报
回复
参考我的文章 https://blog.csdn.net/WQR1994/article/details/101540138
zara 2018-07-30
  • 打赏
  • 举报
回复
换个方法,比如通过窗口类/标题查找窗口,或进程枚举找寻到游戏进程?
cvster 2018-07-28
  • 打赏
  • 举报
回复
补充一下:

当窗口未响应的时候获取到的是DWM.exe的PID,对应的class名是ghost,图上可以看到。当窗口处于正常状态时,获取的是正确的梦幻西游窗口的PID。

应用背景: 用pssuspend工具可以将进程挂起,为了梦幻西游不占我的cpu,我就将它挂起,但是resume的时候不能根据鼠标获取窗口句柄,就不能用快捷键+鼠标将其继续,所以寻求解决方法。至于为什么不退出游戏? 因为登陆要手机扫码,麻烦。

拜谢各位

4,164

社区成员

发帖
与我相关
我的任务
社区描述
Windows专区 一般软件使用
社区管理员
  • 一般软件使用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧