2011-03-23 82 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。