2012-04-11 49 views
1

我正在寫一個需要鼠標指針形狀改變通知的Windows應用程序。我已經徹底搜索,但找不到滿意的解決方案。我想要接收光標形狀更改的通知以及光標已更改的類型。捕獲MFC中的鼠標指針形狀改變事件

從搜索中我開始知道,我將不得不在每個進程中安裝一個鉤子並捕獲WM_SETCURSOR事件,但捕獲此消息並不能提供完整的信息。所以請指導我,如果有人可以幫助

+0

你期待什麼信息?你有什麼信息? – MikMik 2012-04-11 07:10:46

+0

我期待遊標的類型(當它從箭頭變爲手時,或當它改變爲調整大小時),我只獲得它的位置。我已經看到在loadcursor()中我們可以指定一些ID( IDC_CROSS,IDC_HAND)來改變光標。所以如果相同的id或者相同的東西,我可以得到我的應用程序然後它將服務於這個目的 – 2012-04-11 08:33:27

回答

2

您可以通過GetCursorGetCursorInfo獲得當前光標的句柄。

問題是要知道句柄引用哪個遊標。我不認爲有「反向查找」功能,所以你必須通過比較你的手柄和LoadCursor爲不同的可能值返回的手柄來實現它。

幸運的是,文檔說這個:

的使用LoadCursor函數加載只有當它沒有 被載入光標資源;否則,它將檢索現有的 資源的句柄。