[我试图通过c#代码控制外部应用程序,为此,我使用SendKeys控件在设置焦点后在文本框中设置值。
外部应用程序是一个wpf应用程序,我已经尝试过SendKeys.Send,它不适用于WPF应用程序。
我正在使用SendKeys.SendWait设置文本框值,如下所示,
SendKeys.SendWait(TextValue);
上面的代码大约需要30-40秒才能在文本框中设置值。 TextValue包含来自XML的值,该值将是动态的,字符仅是数字,并且变量的长度约为10-11位。
如果我这样通过,
SendKeys.SendWait("123456");
然后它很好用,但是我不确定为什么在传递变量时花太多时间。
有什么方法可以使它更快地工作?
一种更快的解决方法是使用剪贴板存储变量的内容,然后发送要粘贴到文本框中的键。这是与剪贴板交互的代码:
Clipboard.SetText(YourVariable); // Makes the clipboard content become your variable
SendKeys.SendWait("^V"); // sends CTRL + V to paste text
例如,如果您想在代码进行更改之前保留剪贴板中的内容,则可以查看有关Clipboard类的更多信息。