我从 C# 开始,用 Java 编写了很多代码,但在这里遇到了一些麻烦。我正在尝试学习如何将MouseKeyHook用于我正在开发的应用程序。我无法让实际的侦听器触发事件。这是我的监听器代码:
using System;
using System.Windows.Forms;
using Gma.System.MouseKeyHook;
namespace ChromaHeatmap
{
class keyListener
{
private IKeyboardMouseEvents m_GlobalHook;
public void Subscribe()
{
// Note: for the application hook, use the Hook.AppEvents() instead
m_GlobalHook = Hook.GlobalEvents();
m_GlobalHook.KeyPress += GlobalHookKeyPress;
}
private void GlobalHookKeyPress(object sender, KeyPressEventArgs e)
{
Console.WriteLine("blah");
}
public void Unsubscribe()
{
m_GlobalHook.KeyPress -= GlobalHookKeyPress;
//It is recommened to dispose it
m_GlobalHook.Dispose();
}
}
}
这是我的应用程序代码的一部分,我尝试对侦听器做一些事情。如果有人可以让我知道最好的方法是在这里循环并等待事件,我将不胜感激。
//Listen for key presses
keyListener heyListen = new keyListener();
heyListen.Subscribe();
while(true)
{
}