应用程序未打开时按键
本文关键字:应用程序 | 更新日期: 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#中使用它。