我想要获得本机(xp系统)是否开启icf(Windows防火墙)以及是否开启远程控制等服务,请问要如何做?查不到相关资料 = =

解决方案 »

  1.   

    用OpenService和QueryServiceStatus,你得知道服务名称。
    BOOL bResult = FALSE;
    SC_HANDLE schSCManager = OpenSCManager(NULL,    
       NULL,  
       SC_MANAGER_ALL_ACCESS);  
    if(schSCManager == NULL){}
    SC_HANDLE schService = OpenService(schSCManager,  
       TEXT("shellHWDetection"),  
       SERVICE_ALL_ACCESS);  
    if(schService == NULL){}
    else
    {
    SERVICE_STATUS srv_sta;  
    QueryServiceStatus(schService ,&srv_sta);  
    if(srv_sta.dwCurrentState   ==   SERVICE_RUNNING)  
    bResult = FALSE;//该服务已启动
    if(srv_sta.dwCurrentState == SERVICE_STOPPED)
    bResult = TRUE;//该服务已被停止
    CloseServiceHandle(schService); 
    }
    CloseServiceHandle(schSCManager);