webBrowser查找网页句柄

问题描述

privatevoidbutton1_Click(objectsender,EventArgse){intparentHandle=FindWindow("ShellEmbedding",null);parentHandle=FindWindowEx(parentHandle,0,"ShellDocObjectView",null);parentHandle=FindWindowEx(parentHandle,0,"InternetExplorer_Server",null);label1.Text=Convert.ToString(parentHandle);}

在一个tabControl1里面画一个webBrowser1,旁边放一个button1,在form1_load事件中放置webBrowser1.Navigate("http://game.37.com/play.php?game_id=275&server_id=64361&ext=1|709|16650|172301|0&entergametype=tg&isold=1")。求这个网页的句柄,我是上面那么些的,总是找到不到,求解,最好是完整代码

解决方案

解决方案二:
你的webBrowser是嵌套在窗体里面的是属于窗体的一个子控件你直接FindWindowEx从桌面是找不到它的所以你还是遍历吧pulicvoidGetWindow(IntPtrhParent,IntPtrhAfter,stringstrClass,stringstrTxt,List<IntPtr>lstResult){while((hAfter=FindWindowEx(hParent,hAfter,null,null))!=IntPtr.Zero){if([GetClassName(hAfter)]==strClass&&[GetWindowText(hAftr)]==strText)lstResult.Add(hAfter);GetWindow(hAfter,IntPtr.Zero,null,null,lstResult);//用子窗体继续递归}}

上边是自己随便打的估计有错还有GetClassName判断的时候strClass最好不要用null而是用""(GetClassName==(strClass==nul?"":strClass));
解决方案三:
不是,我不是要找webBrowser这个空间的句柄,我要找的是webBrowser打开网页后,这个网页的句柄
解决方案四:
你首先先理解句柄是什么。作为标准的windows控件,webbrowser毫无疑问是有句柄的,但是,网页内容的渲染完全和windowsgui机制不同,内部的控件/内容都没有句柄。你想操作网页元素,你需要通过DOM模型控制,而不能通过控件句柄。PS:页面内部唯一有句柄的东西是ActiveX控件,它本质上不是网页内容,而是对COM组件的封装。
解决方案五:
既然使用webbrowser控件,就用Webbrower1.Document.GetElementById("ID号")

的方式访问操作里面的元素,ID号是html标记里元素的id,如textbox

时间: 2024-10-21 21:09:37

webBrowser查找网页句柄的相关文章

网页开发-c# webbrowser 获取网页内的超连接

问题描述 c# webbrowser 获取网页内的超连接 大神们看下面代码,是webbrowser的,上面的点击可以执行,但是没办法获取到对应文字的链接: if (webBrowser1.Document.All[i].OuterText == textBox1.Text) { webBrowser1.Document.All[i].InvokeMember("click"); } 我想获得i文字的超连接要怎么获得呢? object url1 = webBrowser1.Documen

网页采集-求c#用webbrowser采集网页上的动态内容

问题描述 求c#用webbrowser采集网页上的动态内容 求c#用webbrowser采集网页上的动态内容采集到EXCEL上,小弟新手,麻烦大大可以给点思路,或者代码哈,不胜感激 解决方案 http://blog.csdn.net/jintougao/article/details/12948633http://blog.163.com/wei_jia192@126/blog/static/9837925020103161001450/

c# winForm 使用WebBrowser游览网页,当网页有windows.close()时怎么办?

问题描述 winform程序使用webbrowser显示网页,当网页调用windows.close()时,会报错对COM组件的调用返回了错误HRESULTE_FAIL.尝试使用DWebBrowserEvents2接口的WindowClosing方法,WindowClosing完全不会触发.尝试当抛错时,新创建webbrowser,但是新创建的webbrowser不会显示出来.请问大神们怎么办呢? 解决方案

WebBrowser截取网页上的验证码图片

  引言 最近和一位朋友探讨获取WebBrowser访问的网页中验证图片的方法,起先想到的就是通过WebClient直接去下载当前页面中引用的验证码图片,但继而想到这会涉及一些问题:一是验证码可能会在每次请求时都发生变化,二是将WebClient与WebBrowser的Cookies甚至Session关联起来是件很难的事. 而后就想到了可以放弃WebBrowser,始终使用WebRequest进行较为底层的访问,以避免多次获取验证码产生变化导致不一致的情况,不过这种办法操作起来还是比较复杂的.

webbrowser获取网页,延时问题

问题描述 需要实现用webbrowser获取网页内容的功能子程序:publicpartialclassWebForm:Form{intstate=0;voidnavicate(stringurl){webBrowser1.Navigate(url);state=1;}voidwebBrowser1_DocumentCompleted(objectsender,WebBrowserDocumentCompletedEventArgse){if(webBrowser1.ReadyState==Web

asp.net WebBrowser操作网页代码

使用fiddle截获post给服务器的url和数据,使用httprequest类代码post到服务器 今天给出另外一种方法,就是利用winform控件中的webbrowser控件来操作页面. 这里我们会模拟一个搜索过程,打开百度网站,输入搜索关键字,在搜索结果中打开连接  代码如下 复制代码 public form1()         {             initializecomponent();             (webbrowser1.activexinstance as

C# 用空间Webbrowser请求网页获取不到源代码

问题描述 我的代码是这样子的,但是却获取不到一些页面的代码,我该怎么做.我是想获取QQ群成员页面的信息的页面地址是stringurl=string.Format("http://qun.qzone.qq.com/group#!/{0}/member",item.Value);privatevoidGet_Group_Number(){//获取群号码集合dic=GetHtml("http://qun.qzone.qq.com/group","groups_l

求援!查找网页输入框的名字

问题描述 有个登陆网页可能是ngmodel写的,如何找出每个输入框的名字?想用VB.NET写个自动登录的程序,请帮忙谢谢! 解决方案 解决方案二:不置顶名字就把所以的列出来,DimiAsIntegerFori=0ToWebBrowser1.Document.All.Count-1RichTextBox1.Text=RichTextBox1.Text+vbCrLf+WebBrowser1.Document.All.Item(i).Name+"="+WebBrowser1.Document

求解,我在MVC中使用webbrowser截网页加载不了JS是什么情况?

问题描述 报这三个错,求解啊! 解决方案 解决方案二:没人吗..自己顶一下解决方案三:没人吗?还是我没说清楚--是这样的,我在controller里调用webbrowser截图本地网站但是它执行JS代码,会上面那三个错