2011-03-23 79 views
0

我一直在Windows API中構建一個非常小的遊戲,並在主消息循環中使用GetAsyncKeyState()來測試用戶是否按下箭頭按鈕。我使用這個而不是WM_KEYDOWN,因爲WM_KEYDOWN在第一次按下後有一個初始暫停,我不想修改用戶的設置。我的防病毒程序將該遊戲標記爲鍵盤記錄程序,是否有其他方法?GetAsyncKeyState()導致反病毒程序標記爲鍵盤記錄器

+0

嗯,我可以看到它的重點,但這是如何跟蹤XNA的鍵,例如,它是否抱怨這些?也許這只是一點積極? – asawyer 2011-03-23 18:50:42

+0

我還沒有在XNA中編程,所以我甚至不知道那裏使用了這個函數。我的反病毒程序是卡巴斯基,它在保護方面非常積極,但我相信我的整個計算機都在他們手中。我只需要爲它制定一個例外。 – rem45acp 2011-03-23 19:18:31

回答

1

防病毒程序如何猜測你是而不是使用GetAsyncKeyState()來監視鍵盤和日誌鍵?你當然會說,排除一下。如果你擔心你的未來客戶不那麼容易相信,那麼回去使用WM_KEYDOWN/UP。使用256個布爾數組來跟蹤關鍵狀態。無論您獲得多少,在DOWN上將其設置爲true,在UP上爲false。當您的應用程序失去焦點時停止調用API函數時,還要檢查掃描儀是否開心。注意WM_ACTIVATEAPP。