我正在编写一个应用程序,只要有可用文本,该应用程序就会使用SendKeys
在光标处发送文本。每次应用程序必须写百分号时,它都会改写数字5。我发送10{%}
,输出为105
。我不知道如何简单地使%
符号出现。
来自MSDN:
加号(+),脱字号(^),百分号(%),代字号(〜)和括号()对SendKeys具有特殊含义。指定以下一项这些字符,将其括在大括号({})中。例如,指定加号,使用“ {+}”。要指定大括号字符,请使用“ {{}”和“ {}}”。
这里是重现此问题的非常简单的示例(带有System.Windows.Forms参考的ConsoleApp)
namespace ConsoleApp4
{
class Program
{
static void Main(string[] args)
{
System.Threading.Thread.Sleep(1000);
string text = "10{%}";
// Output SHOULD be "10%"
// Output IS "105"
System.Windows.Forms.SendKeys.SendWait(text);
Console.ReadLine();
}
}
}
输出是105
,而不是10%
。
我无法弄清楚,如何使用SendKeys编写%
符号?
string text = "10+ù";
您的文化是fr-fr
,您正在使用AZERTY键盘。 %
相对于ù
位于换档位置,因此应该可以解决问题。
在字符串值的字符串值之前使用@运算符。
例如string text = @"10{%}";
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/tokens/verbatim
那是奇怪的拉斐尔。我将您的代码复制粘贴到示例C#项目中,并得到10%
作为输出。您是否通过提供的链接使用任何上述支持的平台-
适用于
。NET Core
3.0
。NET Framework
4.8 4.7.2 4.7.1 4.7 4.6.2 4.6.1 4.6 4.5.2 4.5.1 4.5 4.0 3.5 3.0 2.0 1.1