【问题标题】:c# & GetAsyncKeyState() - How to check all keys?c# & GetAsyncKeyState() - 如何检查所有键?
【发布时间】:2023-04-08 23:26:01
【问题描述】:

这段代码

for (int i = 0; i < 256; i++)
{
    if (GetAsyncKeyState(i) == -32767)
    {
        MessageBox.Show(i.ToString());
    }
}

不包括功能键(F1、F2 等)或数字键盘键。

我需要做什么才能使此代码适用于所有键?

提前致谢。

【问题讨论】:

  • 你看过Keys enum吗?
  • @GabrielGM 是的,我做到了。但是没有可用于将密钥保存在 *.ini 文件中的值。
  • 不太清楚我理解你所说的ini文件是什么意思。用foreach循环?
  • 是的,也许我解释得不好。我想在程序中自定义用户的热键。我想,我可以将所有键的键码作为整数保存到 ini 文件中。要向用户询问我想要一个文本框的密钥。在此文本框中,用户应该能够使用任何键。像字母这样的普通键不是问题,但是如何检测 F1 到 F12 键以及如何将它们保存到 ini 文件中?提前致谢。
  • F1 到 F12 在枚举中也用 int 表示(见referencesource.microsoft.com/#System.Windows.Forms/winforms/…

标签: c# hotkeys


【解决方案1】:

进一步参考:

您应该使用Keys enum。你可以使用Foreach on Enum

Keys enum is an integer,这样你以后可以通过它的号码来引用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-16
    • 2020-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-02
    • 2021-04-29
    相关资源
    最近更新 更多