应用程序未打开时按键

本文关键字:应用程序 | 更新日期: 2023-09-27 18:28:08

在Visual Studio中,如何在C#未打开应用程序的情况下按键?

我做了一个游戏教练,我已经开始工作了。问题是,如果我想使用作弊器,我必须不断打开训练器。所以每次我打开游戏,我都会尽量减少教练。但如果没有选择训练器,我无法按ctrl+e或ctrl+q来激活快捷方式。

如何让培训师在未打开的情况下按下按键?

我现在有这样的东西。

 private void Form1_KeyDown(object sender, KeyEventArgs e) 
        {
            if (Control.ModifierKeys == Keys.Control)
            {
                if (e.KeyCode == Keys.E) //When ctrl+e pressed, this runs
                {
}

应用程序未打开时按键

您需要使用全局键盘挂钩,周围有很多例子,但这里有一个关于代码项目的例子,使用起来非常简单。

http://www.codeproject.com/Articles/19004/A-Simple-C-Global-Low-Level-Keyboard-Hook

您将不得不在user32.dll 中使用SetWindowsHookEX

[DllImport("user32.dll")]
static extern IntPtr SetWindowsHookEx(int idHook, keyboardHookProc callback, IntPtr hInstance, uint threadId); 

如果您想对某些特定的键盘快捷键做出反应,可以使用API函数RegisterHotKey。看见https://stackoverflow.com/a/27309185/101087例如如何从C#中使用它。