0

我有一个应用程序在 SendKeys() 发送SHIFT击键时关闭(崩溃?)。可以通过简单的 shift 字符、+大写字母或通过发送辅助键(例如 .)间接调用 shift 键@。在上述任何一种情况下,应用程序都将关闭。这是第三方应用程序,所以我无法修复他们的代码。

我通过插入来解决资本问题{CAPSLOCK}。这并不能解决次要关键问题。是否可以在不调用 Shift 的情况下让 SendKeys 发送特殊字符?那些角色:!@#$%^&*(){}|:"<>?

[也许通过首先将它们转换为 unicode 表示或其他方式。我不想手动将所有这些字符映射到 Unicode。不确定底层代码是否仍会点击 SHIFT]?

更新
这是所要求的代码。

SetForegroundWindow(windowHandle);
string keySequence = stringVariable + "{TAB}" + "aa";//works fine
//string keySequence = stringVariable + "{TAB}" + "a+a";//crash
//string keySequence = stringVariable + "{TAB}" + "aS";//crash
//string keySequence = stringVariable + "{TAB}" + "a@";//crash
SendKeys.SendWait(keySequence);
4

0 回答 0