0

当我按下一个键时,我想让一个功能在切换(开关)模式下工作,我真的不知道该怎么做。我尝试了很多方法,只有“RegisterHotKey”方法工作正常。但是“RegisterHotKey”正在覆盖游戏中的映射键,这不是我需要的。所以我正在尝试使用“GetKeyState”。无论我改变什么,它下面的代码都只适用于一个位置......:

private void mw_KeyDown(object sender, KeyEventArgs e){
    bool sw = (toggle = !toggle);
    int tog = (GetKeyState(Key.Tab)); 

    if ((tog & 1) == 1)
    {
       if (sw)
       {
            System.Windows.MessageBox.Show("go to second position...!");
       }
    }
    else
    {
        System.Windows.MessageBox.Show("go to first position...!");
    }
}

有什么想法或建议我该怎么做?

谢谢,

4

1 回答 1

0

CodeProject 的 Sergey Alexandrovich Kryukov 提供的解决方案。

链接:解决方案

public partial class MainWindow : Window
{

    bool toggle;

    public MainWindow()
    {
        InitializeComponent();
        MainWindow.KeyDown += (sender, eventArgs) => { if (eventArgs.Key == Key.F7) toggle = !toggle; };
    }

    private void MainWindow_KeyDown(object sender, EventArgs e)
    {

        if (toggle)
        {
            //System.Windows.MessageBox.Show("go to second position...!");
        }
        else
        {
            //System.Windows.MessageBox.Show("go to first position...!");
        }
    }
}
于 2013-08-19T08:56:04.373 回答