在文本框中输入字符的按键?

苦蓝

我如何以编程方式知道是否'@'需要在带有Alt GrShift按住的文本框中输入一个字符

这是清单Alt Gr² ³ { [ ] } \ @ € ~ | µ
为更长的名单Shift°!"§$%&/()=?*'>;:_,信件和更多

Char.IsUpper(...)用字母帮助我。但是剩下的我该如何解决呢?我希望能够正确检查它们,如果可能的话,我想让系统为我做。

最后,我将通过发送这些按键keybd_event
(我使用WinForms。)

苦蓝

我想到了。VkKeyScan是密钥。
VkKeyScanEx用于KeyboardLayouts等。)

一些测试代码:

[DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)]
static extern short VkKeyScan(char ch);

static void Main(string[] args)
{
    char[] chars = "²³{[]}\\@€~|µ   °!`\"§$%&/()=?*'>;:_".ToCharArray();
    Console.WriteLine("char\talt\tcontrol\tshift" + Environment.NewLine + "-----------------------------");

    for (int i = 0; i < chars.Length; i++)
    {
        char ch = chars[i];
        short vksc = VkKeyScan(ch);

        bool alt = (vksc & 1024) == 1024;
        bool control = (vksc & 512) == 512;
        bool shift = (vksc & 256) == 256;

        Console.WriteLine(ch + "\t" + alt + "\t" + control + "\t" + shift);
    }

    Console.ReadKey();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在输入文本框的占位符中呈现特殊字符

来自分类Dev

自动转义在文本框中输入的特殊字符

来自分类Dev

允许用户在文本框中输入转义字符

来自分类Dev

如何防止将'字符输入到文本框中?

来自分类Dev

禁用文本框中单个字符的输入

来自分类Dev

阻止用户在文本框中输入双字节字符

来自分类Dev

HTML画布在按键上将文本框值动态输入到画布中

来自分类Dev

HTML画布在按键上将文本框值动态输入到画布中

来自分类Dev

按键事件并删除文本框和RichTextBox中的文本

来自分类Dev

按键事件时,在MM / YYYY文本框中插入“ /”

来自分类Dev

在输入文本框中防止退格

来自分类Dev

同步文本框(在表单中输入)

来自分类Dev

RSelenium:文本框中的输入值

来自分类Dev

无法在文本框中输入值

来自分类Dev

在输入文本框中防止退格

来自分类Dev

文本框中的输入验证

来自分类Dev

仅更改用户在AJAX扩展文本框中输入的字符串的文本颜色

来自分类Dev

文本框输入控件(字符数,字符类型)

来自分类Dev

替换文本框中的字符?

来自分类Dev

删除文本框中的字符

来自分类Dev

替换文本框中的字符?

来自分类Dev

允许文本框中的某些字符

来自分类Dev

文本框中的Concat ASCII字符

来自分类Dev

更改文本框中的特定字符

来自分类Dev

动态生成的文本框的按键事件

来自分类Dev

动态生成的文本框的按键事件

来自分类Dev

Javascript文本框按键事件

来自分类Dev

字符串在文本框中输入两次

来自分类Dev

检查用户是否在文本框中输入单个字符或数字c#