#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, //输出参数,接收返回服务的数量 &ResumeHandle); //输入输出参数,第一次调用必须为0,返回为0代表成功 if(ESS == NULL)