Tag:

用C#更改按下的键

嘿,我正在尝试用C#编写一个程序来跟踪某些键的按下(使用键盘钩子),然后发送不同的键。 例如,当我按下A键时,它将发送Q键。 我使用http://www.codeproject.com/KB/cs/CSLLKeyboardHook.aspx这个用于我的钩子并尝试使用SendKeys函数,但是我得到一个关于垃圾收集器的例外,它破坏了钩子类中的一些对象。

带C#的鼠标钩子

我试图模仿“硬件”鼠标点击,因为看起来有些软件阻止来自PostMessage的输入。 我知道有SendInput,但这不是一个选项,因为我需要它在后台窗口兼容。 解决方案似乎是一个低级别的鼠标钩子,但我已经四处搜索,除了记录器之外找不到任何东西,没有移动鼠标的操作,点击等等。我希望这样做而不必写一些用作伪造鼠标驱动程序的C ++ / C包装器。 http://support.microsoft.com/kb/318804 ,我发现了这个,但它似乎没有任何进一步的帮助。 任何帮助赞赏:)

C#低级键盘挂钩不工作

这是我的keyhooking类的代码,但它不起作用。 我想知道是否有人可以告诉我为什么? 我正在另一个控制台应用程序中实现它。 调试消息提供正确的输出,但键盘钩子根本不捕获键。 我希望有人能告诉我原因。 namespace GlobalHooks { public class InterceptKeys { private const int WH_KEYBOARD_LL = 13; private const int WM_KEYDOWN = 0x0100; private static IntPtr _hookID = IntPtr.Zero; private static String keysHooked = String.Empty; private static LowLevelHookProc keyboardHook; public delegate IntPtr LowLevelHookProc(int nCode, Int32 wParam, IntPtr lParam); public delegate void KeyboardHandleFunction(int vkCode); public […]