SendKeys.SendWait花费太多时间C#

问题描述 投票:1回答:1

[我试图通过c#代码控制外部应用程序,为此,我使用SendKeys控件在设置焦点后在文本框中设置值。

外部应用程序是一个wpf应用程序,我已经尝试过SendKeys.Send,它不适用于WPF应用程序。

我正在使用SendKeys.SendWait设置文本框值,如下所示,

SendKeys.SendWait(TextValue);

上面的代码大约需要30-40秒才能在文本框中设置值。 TextValue包含来自XML的值,该值将是动态的,字符仅是数字,并且变量的长度约为10-11位。

如果我这样通过,

SendKeys.SendWait("123456");

然后它很好用,但是我不确定为什么在传递变量时花太多时间。

有什么方法可以使它更快地工作?

c# wpf textbox set sendkeys
1个回答
0
投票

一种更快的解决方法是使用剪贴板存储变量的内容,然后发送要粘贴到文本框中的键。这是与剪贴板交互的代码:

Clipboard.SetText(YourVariable); // Makes the clipboard content become your variable
SendKeys.SendWait("^V"); // sends CTRL + V to paste text

例如,如果您想在代码进行更改之前保留剪贴板中的内容,则可以查看有关Clipboard类的更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.