【发布时间】:2017-01-25 20:36:13
【问题描述】:
我有一个几周前编写的应用程序,当您单击列表中的 PC 名称时,它会自动连接到我们网络上的特定 PC。该过程包括在 VNC 中输入 PC 的名称和默认密码,然后按 Enter 键进行连接。它可以在一台 PC 上完美运行,但在另一台 PC 上会受到影响。我确信我可以使用不同的方法重做自动化,但我喜欢它的简单方式,即:
string x86Path = "C:\\Program Files (x86)\\uvnc bvba\\UltraVNC\\vncviewer.exe";
try
{
startVNC.StartInfo.FileName = x86Path;
if (startVNC.Start())
{
startVNC.WaitForInputIdle();
SendKeys.Send(pcName);
SendKeys.Send("{ENTER}");
startVNC.WaitForInputIdle();
SendKeys.Send("apassword");
SendKeys.Send("{ENTER}");
}
}
当 VNC 启动时,它会等待输入(首先是 PC 名称),然后发送 ENTER 键。然后它再次等待输入(这次是密码),然后发送 ENTER 键。这将在 90% 的时间内成功连接到 PC。但有时它会挂起,密码不会自动提交。有一个更好的方法吗?这是实现 WaitForInputIdle() 的非常不正确的方法吗?
【问题讨论】:
标签: c# visual-studio-2012 automation vnc