1

如何获取键盘和鼠标输入(当前按下了哪些按钮)&& 以及如何发送输出(使鼠标单击另一个程序中的特定位置)。如果您还可以添加有关不同事物的作用以及使用它们的原因的评论,那就太棒了:D 干杯!//丹尼尔

4

3 回答 3

1

http://www.codeproject.com/Articles/28064/Global-Mouse-and-Keyboard-Library

这篇文章很有帮助。它甚至包括一个很酷的宏记录器的代码。

于 2012-05-15T16:24:40.107 回答
1

这可能不是一个很好的解决方案,但就像我一样糟糕(不明白如何使用建议的其他解决方案)我选择了简单的出路......我using Microsoft.Xna.Framework.Input;在获得 xna 框架参考后使用,然后我只是继续前进做了keyboardstate currentkeyboard = keyboard.getstate:) 和鼠标一样

于 2012-05-20T18:30:06.483 回答
0

.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)
{   
}

希望这会有所帮助,当我需要在代码中使用全局鼠标和键盘事件时,我就是这样做的。

于 2012-05-15T18:43:05.217 回答