У меня есть приложение, которое я написал несколько недель назад, которое автоматически подключается к конкретным ПК в нашей сети, когда вы нажимаете имя ПК в списке. Процесс включает ввод имени ПК и пароля по умолчанию в VNC и нажатие enter для подключения. Он отлично работает на одном ПК, но попадает или промахивается другим. Я уверен, что я мог бы повторить автоматизации с использованием другого метода, но мне понравилось, как просто это было так, как я его, что:Как я могу автоматизировать процесс подключения к ПК удаленно через VNC?
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, он ожидает ввода (который будет первым имя ПК), а затем отправляет клавишу ENTER. Затем он снова ждет ввода (на этот раз это apassword), а затем отправляет клавишу ENTER. Это будет успешно подключаться к ПК в 90% случаев. Но иногда он зависает, и пароль не будет отправляться автоматически. Есть лучший способ сделать это? Это ужасно неправильный способ реализации WaitForInputIdle()?