是否可以通过SendKeys发送特殊字符而无需按SHIFT键?

时间:2012-04-19 16:18:55

标签: c# .net

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

我通过插入{CAPSLOCK}解决了资本问题。这并不能解决二级密钥问题。 SendKeys是否可以在不调用Shift的情况下发送特殊字符?字符:!@#$%^&*(){}|:"<>?

[也许首先将它们转换为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);

0 个答案:

没有答案