【问题标题】:GetAsyncKeyState() causes anti-virus program to flag as keyloggerGetAsyncKeyState() 导致防病毒程序标记为键盘记录器
【发布时间】:2011-07-21 13:27:01
【问题描述】:

我一直在 Windows API 中构建一个非常小的游戏,在主消息循环中,我使用 GetAsyncKeyState() 来测试用户是否按下箭头按钮。我使用它而不是 WM_KEYDOWN 因为使用 WM_KEYDOWN 在第一次按下后会有一个初始暂停,我不想修改用户的设置。我的防病毒程序将游戏标记为键盘记录程序,是否有替代方法?

【问题讨论】:

  • 嗯,我明白这一点,但这就是你在 XNA 中跟踪密钥的方式,它会抱怨这些吗?也许只是有点激进?
  • 我还没有在 XNA 中编程,所以我什至不知道那里使用了这个函数。我的防病毒程序是卡巴斯基,它在保护方面非常积极,但我相信我的整台电脑都在他们手中。我只需要破例。

标签: winapi keyboard message-queue


【解决方案1】:

防病毒程序应该如何猜测您没有使用 GetAsyncKeyState() 来监视键盘和记录键?你当然告诉它,排除。如果您担心您的未来客户不会那么容易被说服,那么请返回使用 WM_KEYDOWN/UP。使用包含 256 个布尔值的数组来跟踪键状态。在 DOWN 时将其设置为 true,无论您获得多少,在 UP 时设置为 false。当您的应用失去焦点时停止调用 API 函数时,还要检查扫描仪是否满意。注意 WM_ACTIVATEAPP。

【讨论】:

    猜你喜欢
    • 2016-09-05
    • 2011-01-29
    • 1970-01-01
    • 2011-03-15
    • 2010-11-26
    • 2010-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多