2015-12-10 8 views
0

Я создаю приложение, которое запускает другой процесс методом processStart и потому, что приложение, из которого я запускаю, требует прав администратора. Я устанавливаю глагол ruans. Второй думаю, что я хочу сделать, так это то, что начатый процесс не будет показывать какую-либо форму. Мой код:Разрешить окно UAC при установке CreateNoWindow

Process process = new Process(); 
process.StartInfo = new ProcessStartInfo("sdfsdf", "sdfasdgdf"); 
process.StartInfo.UseShellExecute = false; 
process.StartInfo.CreateNoWindow = true; 
process.StartInfo.Verb = "runas"; 
process.Start(); 

Но проблема в том, что process.StartInfo.CreateNoWindow не создает никаких окон и это относится к созданию окна контроля учетных записей, что необходимо, чтобы показать. Как разрешить показ окна UAC, но нет другого?

+2

http://stackoverflow.com/questions/3596259/elevating-privileges-doesnt-work-with-useshellexecute-false – volody

ответ

1

Вместо того, чтобы прямо запускать приложение «цель», вместо этого создайте небольшое «вспомогательное» приложение, которое ничего не делает, кроме запуска целевого приложения с помощью CreateNoWindow.

Затем вы запускаете свое приложение «helper» с помощью «runas» и без CreateNoWindow, так как ваше приложение «helper» не создаст никаких окон, это не проблема, и поскольку он был запущен с «runas», это будет способный запускать другие повышенные программы без «runas» - и поэтому может использовать CreateNoWindow.

 Смежные вопросы

  • Нет связанных вопросов^_^