SendKeys circumflex导致&符号

时间:2014-10-14 09:28:06

标签: c# .net sendkeys

C#的SendKeys.SendWait表现得“有趣”:

SendKeys.SendWait("{^}");

将&符号&放入文本框中。为什么?如何解决?

(注意:这只发生在de_AT文化中)

(目标应用程序不是问题,我已经尝试过使用WinForms示例应用程序)

1 个答案:

答案 0 :(得分:0)

这是因为SendKeys使用了封底下的Win32函数SendInput,并且此函数通过虚拟键代码而不是实际字符串进行操作。发送" ^",它有效地产生shift-6,在奥地利键盘布局中产生"&"。正如SendKeys上的the documentation倾斜警告:"如果您的应用程序适用于各种键盘的国际使用,则使用Send会产生不可预测的结果,应该避免使用。"