.NET How to check if a Windows process is running as an “App” or as a “Background application”

自作多情 提交于 2019-12-02 06:28:02

The property System.Diagnostics.Process.MainWindowHandle is zero when process has not UI (i.e. is background process).

Normally, if a process is an "App", it should have its own window's name, otherwise, it is a "Background application". Thus the code should be as follow:

Process[] arrProcess = Process.GetProcesses();

foreach (Process process in arrProcess)
{
    if (!string.IsNullOrEmpty(process.MainWindowTitle))
    {
    //Do something with your App
    }
    else
    {
    //Do something with your Background process
    }
}

Services are also usually created by SYSTEM user - the column "User Name" in task manager.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!