hi, this is the that i was written for gettign the service status.i have some problem in this code.i am not able to getting the staus of the service.anybody have idea plaese help me. Code: DWORD ServiceGetStatus(char *sService) { SC_HANDLE schm; SC_HANDLE schs; LPSERVICE_STATUS TServiceStatus = NULL; DWORD dwStat = -1; //dwStat = -1; // connect to the service control manager //schm = OpenSCManager(NULL,NULL,SC_MANAGER_CONNECT); schm = OpenSCManager(NULL,NULL,SC_MANAGER_CONNECT); if(schm > 0) { schs = OpenService(schm,sService,SERVICE_QUERY_STATUS); if(schs > 0) { if(QueryServiceStatus(schs,TServiceStatus)) { dwStat = TServiceStatus->dwCurrentState; CloseServiceHandle(schs); CloseServiceHandle(schm); } std::cout<<"status is false"<<std::endl; } } return dwStat; } int main() { DWORD status = 0; const char machine[]=""; CHAR Service_Name[32]; strcpy(Service_Name,"Sundar_Service"); status = ServiceGetStatus(Service_Name); if(status == 1) std::cout<<"service stopped"<<std::endl; if(status == 4) std::cout<<"service is running"<<std::endl; return 0; }
See on Adv. Win32 group (Google Groups, comp.os.ms-windows.programmer.win32) where it has often been explained