6
如何以編程方式使用C#獲取運行(桌面)應用程序的列表?認爲Windows任務管理器應用程序列表顯示使用C#運行桌面應用程序列表
如何以編程方式使用C#獲取運行(桌面)應用程序的列表?認爲Windows任務管理器應用程序列表顯示使用C#運行桌面應用程序列表
您可以使用Process.GetProcesses
method來提供有關當前在您的計算機上運行的所有進程的信息。
但是,這顯示了所有正在運行的進程,包括不一定顯示在任務欄上的進程。所以,你需要做的是過濾掉那些擁有空MainWindowTitle
.The流程上面鏈接的文檔解釋了爲什麼這個工程:
進程有一個主窗口相關 它只有在過程中有一個 圖形界面。如果關聯的 進程沒有主窗口 (以便MainWindowHandle爲零),則 MainWindowTitle是一個空字符串 (「」)。
所以,你可以使用類似下面的代碼,這將打印出(到控制檯窗口)全部是你的任務欄上顯示當前運行的應用程序的列表:
Process[] processes = Process.GetProcesses();
foreach (var proc in processes)
{
if (!string.IsNullOrEmpty(proc.MainWindowTitle))
Console.WriteLine(proc.MainWindowTitle);
}
+1:好答案。 – 2010-12-09 06:51:27