私は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)
{
}