描述:
只要得到所有服务名称即可 谢谢
解决方案1:
SC_HANDLE handle=OpenSCManager(NULL,NULL,SC_MANAGER_CREATE_SERVICE);
//enumerate services
LPENUM_SERVICE_STATUS pServices=(LPENUM_SERVICE_STATUS)LocalAlloc(LPTR,sizeof(LPENUM_SERVICE_STATUS)+10240);
DWORD cbBufSize=sizeof(LPENUM_SERVICE_STATUS)+10240;
DWORD cbBufNeeded;
DWORD ServicesReturned;
DWORD ResumeHandle=0;
while(TRUE){
if(!EnumServicesStatus(handle,SERVICE_WIN32,SERVICE_STATE_ALL,pServices,cbBufSize,&cbBufNeeded,&ServicesReturned,&ResumeHandle)){
cout<<pServices->lpDisplayName<<endl;
if(GetLastError()!=ERROR_MORE_DATA)
break;
}
else{
int count=0;
while(count<ServicesReturned){
cout<<pServices->lpDisplayName<<endl;
pServices++;
count++;
}
break;
}
}
CloseServiceHandle(handle);