2009-02-06 3 views
4

Я искал способы, чтобы изменить тип запуска службы Windows, и я нашел 2 способа сделать это ...Изменение типа запуска сервиса (Windows)

By editing the Registry Или By using the WMI classes

Я хочу знать, какой из них лучше ... Я хочу, чтобы мое приложение нормально работало как на Windows, так и на Vista.

+0

Небольшой контекст был бы полезен. Является ли ваше приложение самой службой (то есть вам нужен установщик) или приложение, которое настраивает службу? – tvanfosson

+0

Спасибо за ваш вопрос, редактирование в реестре было именно тем, что я искал. – freggel

ответ

1

Вы также можете напрямую использовать API win32. Я определенно рекомендую класс WMI; это делает его наиболее вероятным, если в будущих версиях окон есть изменения, которые ваш код все еще работает.

+0

У WMI также есть то преимущество, что теоретически это может когда-нибудь быть кросс-флэтплатком. Существует не так много шансов, что реестр или Win32 API вызовет когда-либо. – EBGreen

1

Я хочу быть в безопасности для будущих версий Windows, лучше использовать WMI.

Если вы не задумываетесь о Windows 7, я рекомендую использовать функции WinAPI (OpenSCManager и ChangeServiceConfig). Я считаю, что их легче понять, и есть примеры примеров кода о том, как их использовать. WMI, с другой стороны, все еще нова, и не так хорошо документирована.

Просто никогда, никогда не редактируйте реестр напрямую. Интерфейсы WinAPI или WMI существуют, чтобы абстрагировать задачу от того, как Windows обрабатывает данные внутренне. Обход их приносит самый большой риск взлома в будущем.