Как узнать какие приложения запущены?
Цитата: Иван от 05.12.2022, 18:11Добрый день! Мой вопрос может показать глупым и понятным, но я все равно хочу спросить: можно ли как то узнать какие приложения сейчас запущены и отображаются на панели задач? В интернете я ничего не смог подходящего найти:
using System; using System.Management; using System.Diagnostics; using System.Windows; public class Tests { private static void Main(string[] args) { Tests tests = new Tests(); Process[] processes = Process.GetProcesses(); foreach (Process process in processes) { if(process.MainWindowHandle != IntPtr.Zero) Console.WriteLine(process); } } }подобный код приводит к выводу приложения которые даже не запускались с момента включения пк (например калькулятор):
System.Diagnostics.Process (explorer)
System.Diagnostics.Process (NVIDIA Share)
System.Diagnostics.Process (TextInputHost)
System.Diagnostics.Process (ApplicationFrameHost)
System.Diagnostics.Process (Calculator)
System.Diagnostics.Process (SystemSettings)
System.Diagnostics.Process (browser)
System.Diagnostics.Process (Skype)
System.Diagnostics.Process (devenv)
System.Diagnostics.Process (VsDebugConsole)
Надеюсь что моя проблема понятна и я когда нибудь получу на нее ответ)
Добрый день! Мой вопрос может показать глупым и понятным, но я все равно хочу спросить: можно ли как то узнать какие приложения сейчас запущены и отображаются на панели задач? В интернете я ничего не смог подходящего найти:
using System;
using System.Management;
using System.Diagnostics;
using System.Windows;
public class Tests
{
private static void Main(string[] args)
{
Tests tests = new Tests();
Process[] processes = Process.GetProcesses();
foreach (Process process in processes)
{
if(process.MainWindowHandle != IntPtr.Zero)
Console.WriteLine(process);
}
}
}
подобный код приводит к выводу приложения которые даже не запускались с момента включения пк (например калькулятор):
System.Diagnostics.Process (explorer)
System.Diagnostics.Process (NVIDIA Share)
System.Diagnostics.Process (TextInputHost)
System.Diagnostics.Process (ApplicationFrameHost)
System.Diagnostics.Process (Calculator)
System.Diagnostics.Process (SystemSettings)
System.Diagnostics.Process (browser)
System.Diagnostics.Process (Skype)
System.Diagnostics.Process (devenv)
System.Diagnostics.Process (VsDebugConsole)
Надеюсь что моя проблема понятна и я когда нибудь получу на нее ответ)
Цитата: Иван от 05.12.2022, 23:53В целом, спустя 2 дня поисков я нашел решение: %AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar
Но мне кажется это не совсем правильное решение для данной задачи...
В целом, спустя 2 дня поисков я нашел решение: %AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar
Но мне кажется это не совсем правильное решение для данной задачи...
Цитата: No_Hammer от 09.12.2022, 18:31Привет, можно проверять наличие заголовка главного окна процесса.
Process.GetProcesses().Where(a => !string.IsNullOrWhiteSpace(a.MainWindowTitle))
Привет, можно проверять наличие заголовка главного окна процесса.
Process.GetProcesses().Where(a => !string.IsNullOrWhiteSpace(a.MainWindowTitle))