![](/img/trans.png)
[英]Global low-level mouse hook doesn't get called when UWP desktop app is out of focus
[英]Low level mouse hook doesn't fire mousedown/mouseup event on admin process
我現在正在編輯這個項目,因為我認為我已經確定了問題,這似乎是Win8.1和Win10的操作系統錯誤。 問題摘要仍然與以前相同“低級鼠標掛鈎不會在管理進程上觸發mousedown / mouseup事件” ...對於管理員應用程序,如果非管理員啟動其自己的低級別掛鈎。
重現問題的步驟:
結果:請注意,作為管理員運行的應用程序實例(從#2開始)現在無法獲得鼠標上/下/點擊事件,但它仍然可以獲取其他鼠標事件和所有鍵盤事件
有沒有人遇到過這個問題?
OP:
...它證實,當前台窗口正在作為管理員的mouseup / MouseDown事件中,沒有得到觸發。
OP:
如果我的應用程序沒有 以管理員身份運行,那么我無法獲得所有鼠標/鍵盤事件,
從Vista開始,應用程序無法在提升的應用程序上發布消息或安裝掛鈎。 這是通過用戶界面權限隔離(UIPI)和完整性 (見下文)完成的。
MSDN:
UIPI不會干擾或更改同一特權(或完整性)級別的應用程序之間窗口消息傳遞的行為。 UIPI通過阻止以下行為來防止低權限進程訪問更高權限的進程 。 較低權限的進程不能 :
- 對具有更高權限的進程執行窗口句柄驗證。
- 將SendMessage或PostMessage用於以更高權限運行的應用程序窗口。 這些API返回成功但靜默刪除窗口消息。
- 使用線程掛鈎附加到以更高權限運行的進程。
- 使用日志掛鈎來監視以更高權限運行的進程 。
- 對運行具有更高權限的進程執行動態鏈接庫(DLL)注入。 告訴我更多......
我記得在Vista發布之前,有一個可愛的Word文檔,主要是關於為Windows Vista准備應用程序,但遺憾的是我無法找到它。
但如果我的應用程序以管理員身份運行,則無法獲取mousedown / mouseup事件
也許你的鼠標鈎有問題? 沒有看到你的代碼就無法分辨。
這是Windows的已知問題
根據我的理解,不適用於Windows Vista +。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.