发送键盘消息到未激活窗口失败,高手请指教,200分
WM_CHAR,WM_KEYUP,WM_KEYDOWN这些常数都试了,SendMessage,PostMessage都试了。。。
很奇怪的是,我发送tab键成功了,此IE弹出窗口仍然在未激活状态,内部的焦点已经改变,可是无论怎么样都没办法继续了
我继续发送文本或者空格键都失败了,我想在IE浏览器的按钮上发送个空格就相当于点击了这个按钮
我想在IE的文本框里输入几个数字或者字面也失败
有上面方法解决呢?此IE窗口为网站弹出窗口,无法使用webbrowser来获取内容。
或许是句柄获取不对(需要更精确地句柄?
人人有分,谢谢
如果有现成的钩子麻烦把代码发上来,基本上补充发个空格就行了,tab还是有效的,呵呵
[解决办法]
网页里面的“按钮”、“编辑框”等,都不是窗口组件,没有窗口句柄,也不能用SendMessage等方式来操作。建议采用DHTML的方式,先获取网页的文档对象(document),再获取“按钮”、“编辑框”等元素对象(Element),然后你想给元素对象赋值、改属性、调用事件都可以了。
参考:DHTML 参考手册 http://www.phpx.com/man/dhtmlcn/
[解决办法]
请使用FindWindow来获取要激活的窗口的句柄,再使用SendMessage来激活