0
我試圖做一個全球mousehotkey與SetWindowsHookEx()
因此,當我按下鼠標右鍵它執行一些代碼。我的問題是,當回調函數被執行時,它會給我一個奇怪的右鍵按鈕,每次代碼執行時都會改變它。SetWindowsHookEx無法正常工作
private static IntPtr ButtonHookCallback(int nCode, IntPtr wParam, IntPtr lParam)
{
int button = Marshal.ReadInt32(lParam);
if (nCode >= 0 && wParam == (IntPtr)WM_RBUTTONDOWN)
{
if (button == 0x02)
{
_m.rtbLog.AppendText("Test");
}
}
return CallNextHookEx(MainWindow._hookId, nCode, wParam, lParam);
}
當我讀到的lParam它給了我像大約600種變化,每次的代碼獲取即使它應該是0X2執行的數量。 我該如何解決這個問題:P。
編輯:當我用鑰匙
按照[文檔】(https://msdn.microsoft.com/en-us/library /windows/desktop/ms644986(v=vs.85).aspx)'lParam'包含一個指向'MSLLHOOKSTRUCT'結構的指針。 [此結構](https://msdn.microsoft.com/en-us/library/windows/desktop/ms644970(v = vs.85).aspx)基本上包含鼠標光標的x和y座標。爲什麼它應該是'0x2'? – haindl
這是什麼樣的鉤子?鍵盤或鼠標掛鉤?你如何安裝它? –