C# Windows服务&x2B;过程[]

C# Windows服务&x2B;过程[],c#,windows,C#,Windows,您好,我在使用函数Process[]currentProcesses=Process.GetProcesses()时遇到问题 (为本地计算机上的每个流程资源创建一个新的System.Diagnostics.Process组件。) 当我从windows窗体测试它时,它工作正常,但是我需要创建一个windows服务,当运行服务时,值MainWindowTitle为空,MainWindowHandle为0,有人能帮助我或提供其他方法吗 这是我的密码: // Here gets the process

您好,我在使用函数Process[]currentProcesses=Process.GetProcesses()时遇到问题

(为本地计算机上的每个流程资源创建一个新的System.Diagnostics.Process组件。)

当我从windows窗体测试它时,它工作正常,但是我需要创建一个windows服务,当运行服务时,值MainWindowTitle为空,MainWindowHandle为0,有人能帮助我或提供其他方法吗

这是我的密码:

// Here gets the process
 Process[] currentProcesses = Process.GetProcesses();

// Here te function where i checke those values
 private List<IntPtr> SearchProcess(BLL.clsApplicationAppBlocker app, Process[] pro)
{
   return pro.Where(p => p.MainWindowTitle
                          .ToLower()
                          .Contains(app.WindowsTitle.ToLower())
                      && p.MainWindowHandle != IntPtr.Zero)
             .Select(p => p.MainWindowHandle)
             .ToList();
}
//此处获取进程
Process[]currentProcesses=Process.GetProcesses();
//这里是我检查这些值的函数
私有列表搜索过程(BLL.clsApplicationAppBlocker应用程序,过程[]专业版)
{
返回pro.Where(p=>p.MainWindowTitle
.ToLower()
.Contains(app.windowsttitle.ToLower())
&&p.MainWindowHandle!=IntPtr.Zero)
.选择(p=>p.MainWindowHandle)
.ToList();
}

Windows服务
在隔离会话中运行,有一些解决方法。我认为您在这里提到了问题,请仔细阅读: