Как начать процесс без прав
Мое приложение работает какrequestedExecutionLevel
установлен в .highestAvailable
Как запустить процесс без изменений?
Я попробовал следующее, но это нет работа:
Process.Start(new ProcessStartInfo {FileName = "foo.exe", Verb = "open"})
Я пробовал следующие уровни доверия, чтобы запустить мой процесс с использованием Win32 API, но ни один из них не работает правильно:
0
1260: This program is blocked by group policy. For more information, contact your system administrator.
0x1000
The application was unable to start correctly (0xc0000142). Click OK to close the application.
0x10000
Process starts then hangs
0x20000
All options are not available
0x40000
Runs as admin
Если я бегуtskill foo
из моего повышенного уровня приложение перезапускает foo с правильными привилегиями.
Что мне нужно, это решение, в котором я ненужно указать уровень доверия. Процесс должен начинаться с правильного уровня доверия автоматически, какtskill
инструмент перезапускаетсяfoo.exe
на правильном уровне доверия. Пользователь выбирает и запускаетfoo.exe
и так может быть что угодно.
Если я могу каким-то образом получить уровень доверия к процессу, я могу сделать это легко, так какfoo.exe
запускается, когда мое приложение может зафиксировать уровень доверия.