gpt4 book ai didi

c# - 在文本框中输入字符的击键?

转载 作者:太空宇宙 更新时间:2023-11-03 13:20:23 25 4
gpt4 key购买 nike

我如何以编程方式知道是否需要在文本框中输入像 '@' 这样的字符并按住 Alt GrShift下来?

这是 Alt Gr 的列表:² ³ { [ ] }\@ € ~ | µ
以及更长的 Shift 列表:°!"§$%&/()=?*'>;:_、字母等

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

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

最佳答案

我想通了。 VkKeyScan是关键。
(VkKeyScanEx 用于键盘布局等)

部分测试代码:

[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();
}

关于c# - 在文本框中输入字符的击键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24527909/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com