C#获取远程计算机上进程的主窗口标题

时间:2012-07-05 21:10:35

标签: c# mainwindow

我正在开发一个从服务器运行的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

不支持此功能

有没有人知道另一种方式?

1 个答案:

答案 0 :(得分:0)

我不会告诉你这是最好的方法,但可以使用它。您可以创建一个简单的服务(Windows服务)并将其安装在每个服务器上。您可能希望实现自动更新功能,因此在安装后您无需在每台计算机上重新安装此服务应用程序。此服务应用程序获取进程和关联的Windows标题(它可能在单个进程中不止一个窗口)并将其返回到查询该信息的计算机。我想你可以在这里使用WCF。而其他优点是您可以更轻松地添加更多其他功能。