|
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.
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;
}
|
|
|
|
|
|
|
|