2011-09-04 69 views
1

在我的Qt應用程序時,當我的應用程序是最小化或在托盤中,我想監視全局鍵盤和鼠標,當用戶使用CTRL +右鍵單擊鍵時,我的應用程序可見狀態設置爲顯示。在QT中捕捉全球鍵盤與鼠標

我該如何執行它。

+0

相關:http://stackoverflow.com/questions/ 2167876/IS-IT-可能使用的-Win 32的鉤合Qt的應用程序 – HostileFork

回答

2

有很多很好的理由不寫這種類型的應用程序(例如,當你有兩個程序都得到這樣一個想法與全球行爲,他們將相互衝突,做一些隨機看似) 。事實上,全球陷阱Ctrl +右鍵單擊並彈出應用程序聽起來像是一個非常糟糕的主意,因爲許多程序已經爲此定義了重要的行爲。

通常一個更好的事情是不是讓用戶指定通過操作系統的機制熱鍵:

http://lifehacker.com/343328/create-a-keyboard-shortcut-for-any-menu-action-in-any-program

或建議用戶使用已經想通了一些第三方程序並讓他們走動衝突的全局熱鍵,以滿足他們的口味:

http://lifehacker.com/software/hack-attack/turn-any-action-into-a-keyboard-shortcut-316589.php

有一些計劃在那裏,應對p只需輕觸按鈕,就可以獲得相當不錯的用戶界面隱喻,這可能會使你相信他們比鉤住右鍵更好。在Mac電腦上使用Quicksilver將是一件好事,可以查看想法。

無論如何你要解決它,你可能需要以不同的方式爲每個平臺做到這一點。在Windows中,你會想要一個全球 WH_MOUSE鉤:

http://msdn.microsoft.com/en-us/library/ms644960(VS.85).aspx