Я хотел бы, чтобы следить за повышенных процессов, запущенных на компьютере, а не административно-пользователь вошел в системуProcess.GetProcesses() WHERE process.IsElevated?
В принципе, я хочу, чтобы запустить следующий выдуманный код из C#:.
var elevatedWindows = Process.GetProcesses().Where(p => p.IsElevated || p.ChildWindows.Any(cw => cw.IsElevated));
до сих пор, единственное, что я нашел, чтобы дать мне информацию, которую я хочу, кажется, ошибка в классе .NET System.Diagnostics.Process, как описано здесь:
http://www.codeproject.com/Articles/302856/Bugs-in-System-Diagnostics-Process-Class
Если я понимаю, это правильно, в статье говорится, что если моя программа не работает с повышенными разрешениями, она будет генерировать исключение WIN32 с NativeErrorCode
, равное 5, если вы попытаетесь получить свойства StartTime
или HasExited
с повышенным уровнем. Я чувствую, что это может быть легким обходным путем для моей проблемы - попробуйте получить StartTime
или HasExited
из неподнятой программы, и если это приведет к этой ошибке, это будет повышенный процесс.
Проблема в том, что я не могу показаться, чтобы получить это, чтобы надежно работать, HasExited
ошибки ненадежно, когда я вручную правой кнопкой мыши и блокнотом выбран «Запуск от имени администратора», и используется GetProcessesByName("notepad")
Еще более трудным является Я не могу изолировать отдельные окна Explorer. Explorer.exe всегда работает, и может быть добавлен, но даже если он работает БЕЗ повышения, вы все равно можете вручную запустить процесс как повышенный ряд различных способов, ни один из которых не влияет на процесс parent explorer.exe.
Так что, я думаю, мне нужно найти WindowHandles из порожденных процессов или их дочерних потоков и как-нибудь посмотреть, поднято ли окно?
Любая помощь будет оценена по достоинству.
Открытие окна проводника в качестве администратора вызовет процесс _second_ 'explorer.exe'. – SLaks
Интересно, есть ли способ определить, какой процесс проводника был повышен, и получить окна с любыми окнами fileexplorer, порожденными из повышенного explorer.exe, а не без приподнятого? – TaterJuice