C#Sendkeys如何在不发送回车符的情况下发送波浪号



在我的代码中,我试图向用户程序发送波浪号(~)。每次我发送~时,它都会按回车键,代码无法继续发送其余的键。

我试过:

SendKeys.SendWait("([~])");
SendKeys.SendWait("~");
SendKeys.SendWait("{[~]}");

他们都只是按下回车键,而不发送实际的波浪号

文档中写道:

加号(+)、插入符号(^)、百分号(%)、波浪号(~)和圆括号()对SendKeys具有特殊含义。若要指定其中一个字符,请将其括在大括号({})内。例如,要指定加号,请使用"{+}"。若要指定大括号字符,请使用"{{}"one_answers"{}}"。括号([])对SendKeys没有特殊意义,但必须将它们括在大括号中。

所以这应该有效:

SendKeys.SendWait("{~}");

文件还说明:

如果您的应用程序旨在与各种键盘一起在国际上使用,则应避免使用Send可能会产生不可预测的结果。

根据文档,正确的方法是用大括号将其括起来,正如@user1071777所说。

加号(+)、插入符号(^)、百分号(%)、波浪号(~)和圆括号()对SendKeys具有特殊含义。指定其中一个这些字符,将其括在大括号({})内。例如,到指定加号,使用"{+}"。

来源:http://msdn.microsoft.com/en-us/library/system.windows.forms.sendkeys.send(v=vs.110).aspx

最新更新