我做了一个抓取数据的程序,这个程序中使用的是WebBrowser,当然使用它优点众多,但有一个缺点,就是它会不断获取焦点。
我是这样使用的:
var wb = new WebBrowser();
wb.Navigate(url);
我没有为wb设置容器,但可以正常使用哦,包括页面截图都很稳定。
然后它返回数据后,我按枚举所有HTML标签抓取数据,但在请求过程中,即使我的所有Form的Visible属性都是false,还是会出现其它程序的焦点被抢走的问题,还会出现windows请求网页的响应声音,貌似有人点鼠标一样。
比如我正在使用记事本,突然就没有焦点了,导致记事本无法使用。现象很严重,请问各位有有招的给出个招吧?
我想从win32层拦截windos消息是否要以禁止这个问题,关键是哪个消息?如果消息不行,hook api也行,但不知道应该hook 哪个api? 高人你在哪儿呢? 快来呀?
这个问题在google上也有人问题,但没有彻底的解决方案:
http://stackoverflow.com/questions/8495857/webbrowser-steals-focus