1
我在Delphi 7中編寫了一個Windows屏幕錄製應用程序,並希望知道鼠標指針在我的應用程序中何時發生變化(如從正常指針調整大小指針等)。如何判斷鼠標指針圖標是否改變
目前我正在做的是每次鼠標移動時(和計時器上)將鼠標指針繪製到內存中的位圖上,並將它與上一次繪製的位圖進行像素逐像素比較。
儘管比較相當快(約2-5ms),因爲它經常發生(每次鼠標移動),它會相加。我認爲必須有一個更快更簡單的方法!
我在Delphi 7中編寫了一個Windows屏幕錄製應用程序,並希望知道鼠標指針在我的應用程序中何時發生變化(如從正常指針調整大小指針等)。如何判斷鼠標指針圖標是否改變
目前我正在做的是每次鼠標移動時(和計時器上)將鼠標指針繪製到內存中的位圖上,並將它與上一次繪製的位圖進行像素逐像素比較。
儘管比較相當快(約2-5ms),因爲它經常發生(每次鼠標移動),它會相加。我認爲必須有一個更快更簡單的方法!
你有一個光標的句柄,對吧?如果它與之前的處理值相同,那麼我認爲假設它看起來相同也是合理的。如果光標看起來不同,它將具有不同的句柄值。
對於標準系統遊標,這當然應該是正確的。如果您正在錄製的應用程序在運行時創建了新的遊標,那麼也許是它將能夠更新當前遊標的外觀,而不實際在OS中創建新的遊標對象(並因此保持相同的句柄值) ,但我不認爲這很可能,尤其是因爲SetCursor
在光標未更改時立即退出,並且我預計API函數不會執行您試圖避免的圖形比較。它只是比較HCursor
的值。
事實上,你似乎是正確的,歡呼! :) – CodeAndCats 2008-12-11 07:04:16