【发布时间】:2012-10-24 03:41:44
【问题描述】:
我开发了一个网络浏览器,我想同时捕捉键盘事件和鼠标事件。如果鼠标事件和键盘事件在给定时间段内没有发生,如何捕捉它。
【问题讨论】:
-
你刚才说什么?你开发了网络浏览器?
-
请改写你的问题......这没有意义
-
相信您已经在winform应用程序上使用了Web浏览器控件。并且您想在该控件上捕获事件。请确认。
我开发了一个网络浏览器,我想同时捕捉键盘事件和鼠标事件。如果鼠标事件和键盘事件在给定时间段内没有发生,如何捕捉它。
【问题讨论】:
鼠标事件和键盘事件可以使用 windows 钩子在 dotnet 中捕获。这些钩子是通过对SetWindowsHookEx 的 p/invoke 调用创建的。
特别是,您只能使用两种类型的挂钩: 低级的键盘和鼠标钩子,称为 WH_KEYBOARD_LL 和 WH_MOUSE_LL,这些正是您所需要的。
【讨论】:
【讨论】:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.Escape)
{
//make some action
}
return base.ProcessCmdKey(ref msg, keyData);
}
这是在键盘上捕捉 Escape 键的方法。 并检查此以获取有关鼠标事件的更多信息 Mouse Events
【讨论】: