[quote=引用 1 楼 Chen8013 的回复:] ………………………………………… 如果是“后台程序”运行之中,在某种情况下出现消息提示,那就要按窗口类名、窗口标题来找窗口了。 …………………………………………
………………………………………… 如果是“后台程序”运行之中,在某种情况下出现消息提示,那就要按窗口类名、窗口标题来找窗口了。 …………………………………………
这跟“平台”无关吧! 各种编程环境中,思路都差不多。 如果是在“用户操作”中弹出的消息框,这个消息应该都是处于“前台”的活动窗口, 可以用 GetForegroundWindow( ) 获取到消息框句柄, 然后以此句柄值查找到“确定”按钮的句柄,向它发送 WM_LBUTTONDBLCLK 就可以了。 如果是“后台程序”运行之中,在某种情况下出现消息提示,那就要按窗口类名、窗口标题来找窗口了。 要实现所谓的”实时监控“,一个是HOOK窗口创建相关的几个API(难度较大), 这样可以截获创建的窗口是不是“被监控”的消息框、它的句柄值是多少。 方法二,就容易实现了,就是用“定时器”事件,不停的“找”有没有被监控窗口(消息框)出现。 如果找到了(出现了),就再找它的“确定”按钮的句柄,发送WM_LBUTTONDBLCLK消息。 毕竟多数情况下,关闭“消息框”实时性要求并不高,只要定时器的时钟周期稍短点就行了。
1,486
社区成员
23,280
社区内容
加载中
试试用AI创作助手写篇文章吧