2012-03-13 15 views
14

Używam CreateService do instalowania plików wykonywalnych usługi systemu Windows, ale nie wydaje mi się, aby dowiedzieć się, jak ustawić opis usługi.Ustawianie usługi Windows Opis w C++

Czy ktoś wie, jak to zrobić?

Dzięki.

Odpowiedz

14

Zadzwoń pod numer ChangeServiceConfig2 podając SERVICE_CONFIG_DESCRIPTION jako parametr dwInfoLevel. Będziesz także potrzebował obsługi do usługi, ale CreateService daje ci jedną z nich.

SERVICE_DESCRIPTION description = { L"The service description" }; 
ChangeServiceConfig2(hService, SERVICE_CONFIG_DESCRIPTION, &description); 
+0

Idealny. Spędziłem stulecia, próbując to znaleźć! – Nick

+0

Warto wspomnieć, że usługa musi zostać utworzona za pomocą prawa SERVICE_CHANGE_CONFIG, w przeciwnym razie otrzymasz odpowiedź "odmowa dostępu", a opis nie zostanie ustawiony. – hfrmobile

6

Spójrz na przykład na tę stronę MSDN. Używa się metody ChangeServiceConfig2.

SERVICE_DESCRIPTION sd; 
SC_HANDLE schService; 
SC_HANDLE schSCManager; 

// Not shown: Get a handle to the SCM database. 
// Not shown: Get a handle to the service. 

sd.lpDescription = TEXT("Description"); 
ChangeServiceConfig2(schService,     // handle to service 
         SERVICE_CONFIG_DESCRIPTION, // change: description 
         &sd))      // new description