c# 比如用webBrowser1控件显示出来一个网页,我打击该网页上的一个链接,我想获取该链接的地址,怎么获取

c# 比如用webBrowser1控件显示出来一个网页,我打击该网页上的一个链接,我想获取该链接的地址,怎么获取,第1张

使用它的Navigating事件。

例如:

thiswebBrowser1Navigating += new SystemWindowsFormsWebBrowserNavigatingEventHandler(thiswebBrowser1_Navigating);

private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)

{

textBox1Text = eUrlAbsoluteUri; //获取其绝对uri

}

private void FormBrower_Load(object sender, EventArgs e)

{

webBrowserNavigate(">

使用SendMessage(hControlWnd,WM_LBUTTONDOWN,0,0)发送鼠标左键消息

SendMessage(hControlWnd,WM_KEYDOWN,keycode,0)发送按键消息

先说一句,现在MFC最新的WebBrowser是CWebBrowser2

SCROLLINFO scrollinfo;

GetScrollInfo(SB_HORZ, &scrollinfo, SIF_ALL);

switch (nSBCode)

{

case SB_LINERIGHT:

  if (scrollinfonPos < scrollinfonMax){

  scrollinfonPos += 10;

  SetScrollInfo(SB_HORZ, &scrollinfo);

  ScrollWindow(-10, 0);}

  break;

}

使用 GetScrollInfo 得到滚动信息 将信息保存于 SCROLLINFO 类的数据中

然后根据 nSBCode 来判断是哪个滚动条的哪个动作,做了调整

下面列出滚动的相关函数

afx_msg void OnHScroll( 

  UINT nSBCode, 

  UINT nPos, 

  CScrollBar pScrollBar 

);

各个参数的意义:

nSBCode

指定指示用户滚动请求的滚动条代码。 此参数可以是下列值之一:

      SB_LEFT 滚动到最左侧。

      SB_ENDSCROLL 结束滚动。

      SB_LINELEFT 滚动。

      SB_LINERIGHT 滚动权限。

      SB_PAGELEFT 滚动一页。

      SB_PAGERIGHT 滚动一页权限。

      SB_RIGHT 滚动到最右边。

      SB_THUMBPOSITION 为绝对位置的滚动。         当前位置由 nPos 参数指定。

      SB_THUMBTRACK 拖动到指定位置的滚动框。 当前位置由 nPos 参数指定。

nPos

      如果滚动条代码是 SB_THUMBPOSITION 或 SB_THUMBTRACK,指定滚动框位置;否则,未使用。 基于初始滚动大小,nPos 可以为负的,因此如果需要,转换到 int。

pScrollBar

      如果滚动消息来自滚动条控件,其中包含指向该控件。 //如果是手动添加的滚动控件

      如果用户单击窗口滚动条,此参数是 NULL。

      指针可能是瞬态的,不应存储以供将来使用。

还有什么问题可以私信我~

由于WebBrowser1没有鼠标相关的事件,所以我们可以这样做

在WebBrowser1加载完网页的时候在网页内注入一段Java脚本代码,来绑定鼠标按下事件,并通过页面转向的方式(一个自定义的url)来传递给vb,WebBrowser1在离开当前页面前会触发WebBrowser1_BeforeNavigate2事件,我们可以在WebBrowser1_BeforeNavigate2中检测url,如果是自定义的,就分析xy

以下代码在vb6中通过测试

Option Explicit

Private Sub Form_Load()

WebBrowser1Navigate ">

'

'名称:fun_GetSelectedStr

'作者:mornwoo 2011530

'说明:获取webbrowser控件打开的页面中的选中文本

'

Function fun_GetSelectedStr() As String

Dim sA

ClipboardClear

WebBrowserExecWB OLECMDID_COPY, OLECMDEXECOPT_DODEFAULT '执行拷贝命令,把选中的内容拷贝到剪贴板

sA = Trim(ClipboardGetText) '获取拷贝的数据

sA = fun_Replace(sA, Chr(10), " ")

sA = fun_Replace(sA, Chr(13), " ")

fun_GetSelectedStr = sA

End Function

以上就是关于c# 比如用webBrowser1控件显示出来一个网页,我打击该网页上的一个链接,我想获取该链接的地址,怎么获取全部的内容,包括:c# 比如用webBrowser1控件显示出来一个网页,我打击该网页上的一个链接,我想获取该链接的地址,怎么获取、如何获取webbrowser控件网址、如何获得TWebBrowser当前鼠标所在位置的控件名称等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9817016.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存