2012-03-14 2 views
2

Я работаю над собственным сканером антивирусов (SharpDefender), и, конечно же, для этого требуется администратор. Я искал в Интернете, как я могу запустить его как администратора без UAC, нарушающего пользователя, и в результате появилась служба Windows. Поэтому после этого я хотел создать службу Windows для своего приложения, но, похоже, она не может запустить .exe моей программы. Я проверил вариант, который служба взаимодействует с рабочим столом.Как начать процесс из службы Windows

Есть даже возможность начать процесс из кода, как это:

Process sdef = new Process(); 
sdef.StartInfo.Filename = locApp + "\\sdefender.exe"; 
sdef.StartInfo.Arguments = "-hidden"; 
sdef.Start(); 

я делаю что-то неправильно, или есть другой способ, чтобы начать исполняемый файл с повышенными правами?

+0

Как ваш код не получится? Было ли сообщение об ошибке? – CoreTech

ответ

-1

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

Here - ссылка, которая говорит об этом в коде. Или, как и я, вы можете просто открыть Services.exe, найти свой процесс, щелкнуть правой кнопкой мыши и выбрать свойства, а затем зайти на вкладку «Вход в систему» ​​и ввести информацию.

+0

Это был бы разумный ответ, но на другой вопрос. Ваш вопрос может помочь кому-то изо всех сил пытаться сделать его Windows XP незащищенным, но об этом спрашивал кто-то, кто борется с UAC на Vistas или новее, после того, как Microsoft наполовину закрыла дыру в безопасности. –

1

У меня есть служба, которая запускает приложения за определенное время (как запланированное задание, но работает на сервере без необходимости сеанса регистрации).

У меня есть метод OnStart, вызов частного метода (StartService), который запускает новый поток (WorkerFunction). В этой теме у меня есть следующий код для запуска приложения:

Process _proc = Process.Start (_Program, _Arguments); 

Надеюсь, это поможет.

С уважением,

José Mira

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