日期:2014-05-16  浏览次数:20712 次

如何在服务启动之前屏蔽它?
有些软件会在系统里面注册服务,然后利用服务来拉起一些软件。如何避免拉起这些程序,或者说在软件启动时要注册服务就屏蔽,可否把某服务列入黑名单,静默得屏蔽。

------解决方案--------------------
手工的话自己修改服务就行了,
删除服务代码:

bool CDSvr::DeleteSvr(_TCHAR *svrname){
    SC_HANDLE    sch=::OpenSCManager(NULL,NULL,SC_MANAGER_CREATE_SERVICE);
    if( NULL==sch ){
        cout<<"openSCManager failed!"<<endl;
        return false;
    }
    SC_HANDLE    sc=::OpenService(sch,svrname,SERVICE_ALL_ACCESS);
    if( NULL==sc ){
        cout<<"open services failed!"<<endl;
        ::CloseHandle(sch);
        ::CloseHandle(sc);
        return false;
    }
    if(::DeleteService(sc)){
        cout<<"delete "<<sc<<" SUCCESS"<<endl;
    }else{
        cout<<"delete "<<sc<<" ERROR"<<endl;
    }
        ::CloseHandle(sch);
        ::CloseHandle(sc);
    
    return true;
};