0
我想知道從效率(CPU /內存使用情況)角度來說,暫時掛起/繞過低級別鼠標/鍵盤掛鉤的最佳方法是什麼。暫停低級別掛鉤的最佳方法(winapi)
目前的解決方案,我發現是在爲例來設置一個全局變量,「doHook」,在鉤PROC測試,如果沒有設置讓它與CallNextHookEx方法傳遞這樣的:
if ((nCode < 0) || (!doHook))
{
return CallNextHookEx(NULL, nCode, wParam, lParam);
}
是這是一個好的解決方案更好的方法?
感謝
感謝您的信息。 –
對於我目前正在執行的程序,我需要以光速啓用鉤子,所以我認爲完全卸載並重新安裝鉤子不是一種選擇,因爲我認爲重啓要比我的解決方案慢得多(或者它可能不如我想象的那麼慢?)。我想到了另一種解決方案:是不是可以創建一個專用於鉤子的線程並暫停/暫停它然後恢復它? (我對線程還是比較新的)不應該有可能嗎? –
暫停的線程就是這樣:一個不會被安排執行的線程。當執行一個鉤子鏈時,沒有設施會跳過這個特定的線程。由於您關心的是性能,您應該使用分析器來衡量當前的性能,比較不同的實現,並做出明智的決定。 – IInspectable