Как получить имя пользователя процесса как в диспетчере задач? - C#
Формулировка задачи:
Пробовал через Proccess.StartInfo.UserName, но там пусто, потом через
Опять пустые строки шлёт. Запускаю от имени админа в манифесте.
string[] propertiesToSelect = new[] { "Handle", "ProcessId" }; SelectQuery processQuery = new SelectQuery("Win32_Process", "Name = '" + Processes[n].ProcessName + "'", propertiesToSelect); string user = ""; using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(processQuery)) using (ManagementObjectCollection processes = searcher.Get()) foreach (ManagementObject process in processes) { object[] outParameters = new object[2]; uint result = (uint)process.InvokeMethod("GetOwner", outParameters); if (result == 0) { user = (string)outParameters[0]; break; } }
Решение задачи: «Как получить имя пользователя процесса как в диспетчере задач?»
textual
Листинг программы
SelectQuery processQuery = new SelectQuery("Win32_Process", "Name = '" + Processes[n].ProcessName + ".exe'", propertiesToSelect);