首页 新闻 会员 周边

c#如何禁止webbrowser的获得焦点的问题,是否可以通过hook api实现?

0
悬赏园豆:20 [已关闭问题] 关闭于 2013-11-27 21:24

我做了一个抓取数据的程序,这个程序中使用的是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

空明流光的主页 空明流光 | 初学一级 | 园豆:106
提问于:2013-11-21 10:49
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册