这个问题来自论坛提问,vs2005的webbrowser控件如何接收鼠标事件,很多事情其实自己动动脑子就有办法的。主要是3步,给dom对象插入js脚本去响应鼠标-〉通过url跳转去通知webbrowser-〉截获跳转事件去c#中处理
示例代码:
-
using
System;
-
using
System.Windows.Forms;
-
using
mshtml;
-
using
SHDocVw;
-
namespace
WindowsApplication2
-
{
-
public
partial
class
Form1:Form
-
{
-
public
Form1()
-
{
-
InitializeComponent();
-
}
-
-
private
void
Form1_Load(
object
sender,EventArgse)
-
{
-
this
.webBrowser1.Navigating+=
new
WebBrowserNavigatingEventHandler(webBrowser1_Navigating);
-
this
.webBrowser1.Navigate(
"http://www.google.com"
);
-
SHDocVw.WebBrowserwb=
this
.webBrowser1.ActiveXInstance
as
SHDocVw.WebBrowser;
-
wb.NavigateComplete2+=
new
SHDocVw.DWebBrowserEvents2_NavigateComplete2EventHandler(wb_NavigateComplete2);
-
}
-
-
void
webBrowser1_Navigating(
object
sender,WebBrowserNavigatingEventArgse)
-
{
-
if
(e.Url.ToString().ToLower().Trim(
'/'
)==
"cmd://onmousedown"
)
-
{
-
MessageBox.Show(
"jinjazz路过"
);
-
e.Cancel=
true
;
-
}
-
}
-
void
wb_NavigateComplete2(
object
pDisp,
ref
object
URL)
-
{
-
mshtml.IHTMLDocument2doc=(
this
.webBrowser1.ActiveXInstance
as
SHDocVw.WebBrowser).Document
as
mshtml.IHTMLDocument2;
-
doc.parentWindow.execScript(
"document.onmousedown=function(e){window.location='cmd://onmousedown'}"
,
"javascript"
);
-
}
-
-
-
}
-
}
分享到:
相关推荐
本篇文章将深入探讨如何在MFC程序中使用WebBrowser控件来实现鼠标点击事件的处理和超链接的获取。 首先,我们需要在MFC项目中添加WebBrowser控件。这通常通过在资源编辑器中拖放一个ActiveX控件并选择`{CLSID_...
打开VB开发环境,选择工具箱,如果`WebBrowser`控件不在默认视图中,可以通过点击“更多控件”按钮,然后在弹出的列表中找到并勾选`Microsoft Web Browser`,这样`WebBrowser1`控件就会出现在工具箱中,可以将其拖放...
在实际应用中,你可能会用这些事件来执行其他操作,比如控制页面的行为、获取点击位置或执行自定义功能。 总之,在C#的WebBrowser控件中捕获鼠标事件,需要通过注册HTML文档的事件并处理这些事件来实现。这使得...
在本文中,我们将深入探讨如何在MFC(Microsoft Foundation Classes)应用中使用WebBrowser控件来处理鼠标点击事件和获取超链接信息。 首先,我们需要创建一个基于对话框的MFC项目,并在资源视图中添加一个...
【标题】:“使用Webbrowser获取异步加载的网民跟帖数据的程序” 在现代网络应用中,许多网页的内容,特别是用户交互数据如网民跟帖,是通过JavaScript等客户端技术异步加载的。这些数据通常不会在原始HTML源码中...
2. **触发事件**:通过某种方式触发该元素的点击事件。 #### 三、代码示例解析 以下是对给定部分代码的详细分析: ```csharp webBrowser1.Document.GetElementById(txtName).InnerText = UserInfo.strName; ...
- 使用`WebBrowser1_CommandStateChange`事件监听命令状态的变化,并根据当前状态更新相应的按钮状态。 #### 五、控制网页滚动条 为了使网页不显示滚动条,可以在Visual Basic 6.0中使用如下代码: ```vb Private...
- `Url`: 获取或设置WebBrowser控件当前加载的URL。 - `DocumentTitle`: 获取当前页面的标题。 - `IsBusy`: 指示WebBrowser控件是否正在执行导航操作。 - `AllowNavigation`: 控制是否允许用户通过点击链接进行...
- DOM操作:`webBrowser1.Document`属性可以访问网页的DOM(文档对象模型),通过DOM可以获取元素、修改元素或触发元素的事件。 2. **网页登录与验证**: - 手动登录:在webBrowser控件中,可以模拟用户输入...
在这个例子中,我们首先导航到一个网页,然后在文档加载完成后注册一个JavaScript点击事件处理函数。当用户点击网页时,JavaScript会调用.NET的`Notify`方法,显示一个消息框。 总结,`WebBrowser`控件提供了一种在...
对于没有`onclick`事件的元素,我们需要手动模拟点击事件的逻辑。这可能涉及到修改元素的状态、触发其他事件或执行JavaScript代码。 例如,如果我们要模拟一个按钮的点击,而这个按钮通过点击触发AJAX请求,我们...
4. **模拟点击**: 要实现模拟点击,可以使用WebBrowser控件的`InvokeMember`方法,传入"click"作为参数,来触发元素的点击事件。对于连续点击,可以设置一个循环来重复调用这个方法。 5. **多点触控与连击**: 如果...
通过监听`MouseUp`事件,可以获取到当前鼠标点击的链接: ```csharp private void webBrowser1_MouseUp(object sender, MouseEventArgs e) { HtmlElement element = webBrowser1.Document.GetElementFromPoint(e....
可以使用WebBrowser控件的`Document`属性获取当前页面的IHTMLDocument2接口,通过该接口可以访问页面中的元素并修改其值。例如,假设表单有一个id为"username"的输入框,可以这样填写用户名: ```cpp IDispatch* ...
// 在这里处理链接点击事件 MessageBox.Show("链接已被点击!"); } ``` 通过这种方式,你可以实现在C#中获取`IHTMLDocument2`并创建链接的单击事件。需要注意的是,这种方法仅适用于在`WebBrowser`控件中加载的...
要监听网页中的按钮点击事件,可以使用WebBrowser控件的`Document`属性获取网页的HTML文档对象,然后找到对应按钮元素并绑定事件处理。例如,使用`Document.Forms("formName").Buttons("buttonName").OnClick`来...
根据给定文件的信息,本文将围绕“如何使用VB(Visual Basic)编程语言屏蔽WebBrowser控件中的右键点击事件”这一主题展开详细讨论。主要内容包括理解WebBrowser控件的工作原理、实现屏蔽右键功能的技术细节以及相关...