0
我想寫計數在Windows的鼠標點擊次數的應用程序。經過一番研究,我發現這個庫:MouseKeyHook 我已經WPF應用程序中創建和複製的示例代碼:使用WPF庫mousekeyhook計數點擊 - LoaderLock錯誤
public partial class MainWindow : Window
{
private IKeyboardMouseEvents m_GlobalHook;
public MainWindow()
{
InitializeComponent();
Subscribe();
}
public void Subscribe()
{
// Note: for the application hook, use the Hook.AppEvents() instead
m_GlobalHook = Hook.GlobalEvents();
m_GlobalHook.MouseDownExt += GlobalHookMouseDownExt;
m_GlobalHook.KeyPress += GlobalHookKeyPress;
}
private void GlobalHookKeyPress(object sender, KeyPressEventArgs e)
{
Console.WriteLine("KeyPress: \t{0}", e.KeyChar);
}
private void GlobalHookMouseDownExt(object sender, MouseEventExtArgs e)
{
Console.WriteLine("MouseDown: \t{0}; \t System Timestamp: \t{1}", e.Button, e.Timestamp);
// uncommenting the following line will suppress the middle mouse button click
// if (e.Buttons == MouseButtons.Middle) { e.Handled = true; }
}
public void Unsubscribe()
{
m_GlobalHook.MouseDownExt -= GlobalHookMouseDownExt;
m_GlobalHook.KeyPress -= GlobalHookKeyPress;
//It is recommened to dispose it
m_GlobalHook.Dispose();
}
}
有沒有錯誤或警告,並且應用程序檢測輸入的點擊和按鍵。但是點擊幾下後,我得到的錯誤信息:
有時候,這個錯誤後,只需點擊幾下後表示,有時在100次點擊(MouseDown事件 - 鼠標左鍵)。此外,當錯誤發生時,我的光標顯着減速幾秒鐘。
請在頁面底部的'查看詳細信息'鏈接上點擊錯誤信息,然後將錯誤信息粘貼到內部例外字段中。 – Alireza
這MDA有假警報的訣竅,也沒有在很長一段時間看到它。使用調試>例外>託管調試助手> LoaderLock並取消選中Thrown複選框。如果有的話,看看接下來有什麼風扇。真正的問題可能與您的反惡意軟件防護有關,他們通常不喜歡鍵盤記錄器那麼多。 –
@HansPassant你的解決方案的工作原理。我改變了這個LoaderLock異常,不拋出,現在我的應用程序沒有任何錯誤。謝謝! – user3662546