在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
{
}
答案 0 :(得分:0)
你需要使用一个全局键盘钩子,周围有很多例子,但是这里有一个很容易使用的codeproject。
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);
答案 1 :(得分:0)
如果您想对某些特定的键盘快捷键做出反应,可以使用API函数RegisterHotKey。有关如何在C#中使用它的示例,请参阅https://stackoverflow.com/a/27309185/101087。