如何用API管理服务

博客聚焦信息技术领域,探讨如何用API管理服务,为相关人员提供思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何用API管理服务

郑恒

获取服务的状态(以远程注册表操作服务以例)

       SC_HANDLE hSC = OpenSCManager(NULL,NULL,SC_MANAGER_QUERY_LOCK_STATUS) ;

    if( hSC )

    {

        SC_HANDLE hService=

            OpenService(hSC,_T("Remote Registry Service"),

            SERVICE_QUERY_STATUS  ) ;

        if( hService )

        {

            SERVICE_STATUS ss ;

            if( QueryServiceStatus( hService , &ss ) )

            {

                switch( ss.dwCurrentState )

                {

                case SERVICE_RUNNING:   // 服务处在运行状态

                    break; 

                case SERVICE_STOPPED:   // 服务已停止

                    break;

                case SERVICE_PAUSED:    // 服务暂停执行

                    break;

                ... // 其它状态参考MSDN

                }

                               

            }

 

            CloseServiceHandle( hService ) ;

        }

 

        CloseServiceHandle ( hSC ) ;

    }

 

改变服务的状态:

SC_HANDLE hSC = OpenSCManager(...);

// 打开指定的服务,参数参考上面的代码

// 注意设置好正确的权限!

SC_HANDLE hService=OpenService(...);

 

// 启动服务

StartService( hService , NULL , NULL ) ;

 

// 停止服务

SERVICE_STATUS ss ;                    

ControlService( hService , SERVICE_CONTROL_STOP , &ss ) ;

 

 

 

改变服务的启动类型:

ChangeServiceConfig( hService , SERVICE_WIN32_SHARE_PROCESS ,

                      SERVICE_AUTO_START , // 自动启动

                                                   // SERVICE_DISABLED 禁止启动

                                                   // 更多的启动类型参考MSDN

                      SERVICE_ERROR_NORMAL ,

                      NULL ,

                      NULL ,

                      NULL ,

                      NULL ,

                      NULL ,

                      NULL ,

                      lpDisplayName ) ;// display name

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值