Untitled

Run Settings
LanguageC++
Language Version
Run Command
#include <stdio.h> #include <Windows.h> int main() { //Open the Service Control Manager SC_HANDLE sc = ::OpenSCManager (NULL,NULL,SC_MANAGER_ENUMERATE_SERVICE); //Check if OpenSCManager returns NULL. Otherwise proceed if (sc != NULL) { printf("Opened SCM using OpenSCManager n"); ENUM_SERVICE_STATUS service_data, *lpservice; BOOL retVal; DWORD bytesNeeded,srvCount,resumeHandle = 0,srvType, srvState; srvType = SERVICE_WIN32; srvState = SERVICE_STATE_ALL; //Call EnumServicesStatus using the handle returned by OpenSCManager retVal = ::EnumServicesStatus (sc,srvType,srvState,&service_data,sizeof(service_data), &bytesNeeded,&srvCount,&resumeHandle); DWORD err = GetLastError(); //Check if EnumServicesStatus needs more memory space if ((retVal == FALSE) || err == ERROR_MORE_DATA) { DWORD dwBytes = bytesNeeded + sizeof(ENUM_SERVICE_STATUS); lpservice = new ENUM_SERVICE_STATUS [dwBytes]; EnumServicesStatus (sc,srvType,srvState,lpservice,dwBytes, &bytesNeeded,&srvCount,&resumeHandle); } printf("Count of NT Services using EnumServicesStatus : %dnn",srvCount); for(int i=0;i<srvCount;i++) { printf("%sn",lpservice[i].lpDisplayName); } } //Close the SC_HANLDE returned by OpenSCManager CloseServiceHandle(sc); }
Editor Settings
Theme
Key bindings
Full width
Lines