如何获取键盘和鼠标输入(当前按下了哪些按钮)&& 以及如何发送输出(使鼠标单击另一个程序中的特定位置)。如果您还可以添加有关不同事物的作用以及使用它们的原因的评论,那就太棒了:D 干杯!//丹尼尔
3 回答
http://www.codeproject.com/Articles/28064/Global-Mouse-and-Keyboard-Library
这篇文章很有帮助。它甚至包括一个很酷的宏记录器的代码。
这可能不是一个很好的解决方案,但就像我一样糟糕(不明白如何使用建议的其他解决方案)我选择了简单的出路......我using Microsoft.Xna.Framework.Input;
在获得 xna 框架参考后使用,然后我只是继续前进做了keyboardstate currentkeyboard = keyboard.getstate
:) 和鼠标一样
.NET 仅内置了基于 .NET 控件(表单、按钮等)的鼠标/键盘挂钩,因此要以编程方式响应 .NET 控件之外的这些事件,您需要一个全局事件挂钩,该挂钩可以拦截来自任何地方的鼠标和键盘活动视窗。
如何使用一个键盘/鼠标挂钩 dll 来执行您请求的功能(以编程方式全局响应鼠标/键盘事件的能力):
从以下位置下载“Gma.UserActivityMonitor.dll”:c# 中的全局鼠标/键盘kooks
将此 dll 放在 C:\Windows\System32
在您的项目中,包括一个参考(从 VS,添加...参考并浏览到 dll)
在您的项目代码中,添加“使用 Gma.UserActivityMonitor;”
在您的代码中,声明这些事件使用者:
HookManager.MouseMove += HookManager_MouseMove;
HookManager.KeyPress += new KeyPressEventHandler(HookManager_KeyPress);
以下是鼠标/键盘事件发生时可以引发的一些方法存根:
private void HookManager_MouseMove(object sender, EventArgs e)
{
}
private void HookManager_KeyPress(object sender, EventArgs e)
{
}
希望这会有所帮助,当我需要在代码中使用全局鼠标和键盘事件时,我就是这样做的。