C#的SendKeys.SendWait
表现得“有趣”:
SendKeys.SendWait("{^}");
将&符号&
放入文本框中。为什么?如何解决?
(注意:这只发生在de_AT文化中)
(目标应用程序不是问题,我已经尝试过使用WinForms示例应用程序)
答案 0 :(得分:0)
这是因为SendKeys
使用了封底下的Win32函数SendInput
,并且此函数通过虚拟键代码而不是实际字符串进行操作。发送" ^",它有效地产生shift-6,在奥地利键盘布局中产生"&"。正如SendKeys
上的the documentation倾斜警告:"如果您的应用程序适用于各种键盘的国际使用,则使用Send会产生不可预测的结果,应该避免使用。"