所以我正在使用WPF构建一个接口,它将使用PsExec命令在同一网络中的不同机器上启动WPF应用程序。
示例:
private static void _remotelyOpenEXE(string psEpath, string ipv4LocalAdd, string userName, string passWord, string path)
{
ProcessStartInfo psi = new ProcessStartInfo(psEpath, string.Format("\\\\{0} -i 1 -d -u {1} -p {2} {3}", ipv4LocalAdd, userName, passWord, path));
psi.UseShellExecute = false;
psi.CreateNoWindow = false;
Process.Start(psi);
}
现在这是最简单的部分,我想要做的是与每个加载的应用程序进行交互,并专门控制每台机器中的每个特定WPF应用程序,例如单击按钮,检索信息,例如存在的列表在那个GUI中。
我可以使用以下示例代码轻松监控进程:
Process[] proc = Process.GetProcesses(GetMachineNameFromIPAddress(ipv4LocalAdd));
foreach (var p in proc)
{
//can list each process now
}
private static string GetMachineNameFromIPAddress(string ipv4LocalAdd)
{
string machineName = string.Empty;
try
{
IPHostEntry hostEntry = Dns.GetHostEntry(ipv4LocalAdd);
machineName = hostEntry.HostName;
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
return string.Empty;
}
return machineName;
}
现在,我该如何控制每个应用程序?