【问题标题】:SendKeys CaretSign not sendableSendKeys CaretSign 不可发送
【发布时间】:2013-08-28 21:16:13
【问题描述】:

谁有使用 SendKey 方法的经验?

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

但是当我这样做时,我会得到一个 & 标志?

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

编辑: 很抱歉对于这个误会! 对于所有我的第一个评论是我现在这样做的方式,它不会像这样工作。


【问题讨论】:

  • 命令是SendKeys.Send("{^}");
  • 您应该删除您的问题或发布您自己的答案并在两天内接受。
  • 不,这不是答案,这就是我尝试过的方法,但它不起作用!我只想添加我当前使用的命令。 (但正如我提到的那样,它不起作用)
  • 在这种情况下,您应该使用edited your question 而不是发表评论。
  • 在虚拟机中得到了相同的行为...但是我查看了 MSDN 文章,发现其中的一段正在写:如果您的应用程序旨在用于国际使用各种键盘,使用 Send 可能会产生不可预测的结果,应该避免。 所以我认为这正是问题所在......

标签: c# sendkeys


【解决方案1】:

来自 MSDN:

加号 (+)、插入符号 (^)、百分号 (%)、波浪号 (~) 和 括号 () 对 SendKeys 有特殊含义。指定其中之一 将这些字符括在大括号 ({}) 中。例如,要 指定加号,使用“{+}”。要指定大括号字符,请使用 “{{}“ 和 ”{}}”。方括号 ([ ]) 对 SendKeys 没有特殊意义, 但你必须用大括号括起来。

所以插入符号的正确语法是:

SendKeys.Send("{^}");

有效的证据:

【讨论】:

  • 正如我上面提到的,这行不通!此命令的结果是一个 & 符号。我已经阅读了 MSDN 文章...
  • 我在发布答案之前尝试了它,它对我有用!我不确定这是否相关,但您的键盘区域设置是否正确?
猜你喜欢
  • 1970-01-01
  • 2010-11-03
  • 1970-01-01
  • 1970-01-01
  • 2013-09-30
  • 1970-01-01
  • 2012-02-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多