C#设置winform键预览最高优先级

时间:2014-11-26 14:13:53

标签: c# winforms

这里我正在尝试制作一个程序,当我按下键盘“F6”时,它会自动运行。将光标移动到某个位置并单击。我在桌面上测试了我的程序,它有效。但是当我进入游戏并按下F6时,它似乎并没有起作用。有些人工作,有些人没有。我在想是否有像我能做的关键预览优先级?

 private async void timer1_Tick(object sender, EventArgs e)
    {

        timer1.Stop();
        if (IsKeyPushedDown(Keys.F6))
        {
            if (auth == 0)
            {
                MessageBox.Show("请先登录");
                timer1.Start();
                return;
            }

            SendKeys.Send("{ESC}");
            //Original
            if (rdbtnoriginal.Checked == true)
            {
                await Task.Delay(5000);
                hack();
            }
        }
        timer1.Start();
    }

这里我使用计时器刻度,我从在线获取代码,所以当我没有关注表格并按F6时会触发事件。但有些人进入游戏并按F6它不起作用

1 个答案:

答案 0 :(得分:1)

Winforms依赖于关注窗口以便在应用程序中注册关键消息(如果窗口没有聚焦,IsKeyPushedDown不会注册任何键,因为窗口没有收到按键你可能想要使用DXInput或OpenGL的输入功能,或者查看这个http://www.codeproject.com/Articles/18890/NET-Hookless-Key-logger-Advanced-Keystroke-Mining。可能还有其他库/代码片段。谷歌是你的朋友,密钥记录可能是你的最佳搜索词。