我正在开发一个从服务器运行的C#程序,并监视另一组服务器上的进程。我监视的进程都具有相同的exe名称,但不同的窗口标题名称。我正在寻找一种方法从这些进程远程拉出Windows标题名称。
基本上我想做的是以下内容;
Process[] processList = Process.GetProcesses("ServerName");
foreach (Process p in processList)
{
try
{
Console.WriteLine(p.MainWindowTitle);
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
}
然而,.NET
不支持此功能有没有人知道另一种方式?
答案 0 :(得分:0)
我不会告诉你这是最好的方法,但可以使用它。您可以创建一个简单的服务(Windows服务)并将其安装在每个服务器上。您可能希望实现自动更新功能,因此在安装后您无需在每台计算机上重新安装此服务应用程序。此服务应用程序获取进程和关联的Windows标题(它可能在单个进程中不止一个窗口)并将其返回到查询该信息的计算机。我想你可以在这里使用WCF。而其他优点是您可以更轻松地添加更多其他功能。