SendKey不会输入一些字符

时间:2013-05-20 21:26:09

标签: c# winforms sendkeys

我在键入一些特殊字符SendKey.Send("~!@#$%^&*()_+|")时遇到了一些问题。

当我尝试输入~!@#$%^&*()_+|时,只输入!@#$*_|

有这个方法吗?由于我首先将字符串收集到ListBox,我还可以在实际输入之前替换这些字符。只是想知道是否还有另一种解决方法。

作为参考,这就是我最终这样做的方式:

private string textToPseudo(string text)
{
    string temp = string.Empty;

    foreach (char c in text)
    {
        if (c == ' ')
            temp += " ";
        else
            temp += "{" + c + "}";
    }
    return temp;
}

1 个答案:

答案 0 :(得分:3)

某些字符对SendKeys有特殊意义。例如。 %是Alt键,^是Ctrl键,+是Shift键。你必须用括号{}括起来使用它们