#include "StdAfx.h" #include <windows.h> #include <iostream.h> void main() { int menu = 0; while (cin >> menu) { if(menu == 1) { SC_HANDLE SCMan = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS); //打开系统服务控制器 if(SCMan == NULL) { printf("OpenSCManager Eorror/n"); return; } LPENUM_SERVICE_STATUS service_status; //保存系统服务的结构 DWORD cbBytesNeeded = NULL; DWORD ServicesReturned = NULL; DWORD ResumeHandle = NULL; service_status = (LPENUM_SERVICE_STATUS)LocalAlloc(LPTR, 1024 * 64);//分配内存,注意大小 //获取系统服务的简单信息 bool ESS = EnumServicesStatus(SCMan, //系统服务句柄 SERVICE_WIN32, //服务的类型 SERVICE_STATE_ALL, //服务的状态 (LPENUM_SERVICE_STATUS)service_status, //输出参数,系统服务的结构 1024 * 64, // 结构的大小 &cbBytesNeeded, //输出参数,接收返回所需的服务 &ServicesReturned, //输出参数