C# SendKeys CaretSign不可发送

C# SendKeys CaretSign不可发送,c#,sendkeys,C#,Sendkeys,有人有SendKey方法的经验吗 我的问题是,当我想发送^sign时,我已经读到,我必须用括号发送它,就像这样。{^} 但当我这么做的时候,我会得到一个&符号 有人知道为什么吗?如果我做像{^2}这样的东西,我会得到&&但我只是不想得到^:) 编辑: 对不起,误会了! 因为我的第一个评论是我现在的做法,它不会像这样工作 来自MSDN: 加号(+)、插入符号(^)、百分号(%)、波浪号(~)和 括号()对SendKeys有特殊的含义。指定 将这些字符括在大括号({})内。比如说 指定加号,使用“

有人有SendKey方法的经验吗

我的问题是,当我想发送^sign时,我已经读到,我必须用括号发送它,就像这样。{^}

但当我这么做的时候,我会得到一个&符号

有人知道为什么吗?如果我做像{^2}这样的东西,我会得到&&但我只是不想得到^:)

编辑: 对不起,误会了! 因为我的第一个评论是我现在的做法,它不会像这样工作


来自MSDN:

加号(+)、插入符号(^)、百分号(%)、波浪号(~)和 括号()对SendKeys有特殊的含义。指定 将这些字符括在大括号({})内。比如说 指定加号,使用“{+}”。要指定大括号字符,请使用 “{}”和“{}}”。括号([])对SendKeys没有特殊意义, 但你必须用大括号把它们围起来

因此,插入符号的正确语法是:

SendKeys.Send("{^}");
证明其有效的证据:

命令是SendKeys.Send(“{^}”);你要么删除你的问题,要么发布你自己的答案,并在两天内接受。不,这不是答案,这是我如何尝试的,它不起作用!我只想添加我当前使用的命令。(但正如我提到的,它不会工作)在这种情况下,你应该有,而不是张贴评论。在虚拟机中得到相同的行为。。。但是我已经阅读了MSDN的文章,我发现了作者正在写的一段话:如果您的应用程序打算与各种键盘一起在国际上使用,那么使用Send可能会产生不可预测的结果,应该避免。所以我认为这正是问题所在…正如我上面提到的,这是行不通的!此命令的结果是一个&符号。我已经读了MSDN的文章…我在发布我的答案之前试过了,它对我有效!我不确定这是否相关,但您的键盘区域设置是否正确?