如何禁用和开放端口。

解决方案 »

  1.   

    看看
    http://community.csdn.net/Expert/topic/3424/3424155.xml?temp=.9188806
      

  2.   

    禁用一般常用端口,可以屏蔽相应的服务,禁用指定的端口,对不住,需要ring 0权限,不是这里几句话能说清楚的。用delphi?不太合适哦。
      

  3.   

    怎么屏蔽相应的服务呢?
    或者说说从何入手
    进入Ring0也不是很难的问题,而且实在是Delphi困难的话,用VC写个DLL也不是很难
    主要是我现在没有思路,也没有头绪
    更缺乏资料啊
      

  4.   

    对不住,确切的说应该是停止相应的服务。下面有一个我的代码片段供参考,不过Sorry,用C写的。
    ^-^ 请凑合着看吧。schService = OpenService (schSCManager, "xxxxxx(服务名称)", SERVICE_ALL_ACCESS);
    QueryServiceStatus(schService,&ssStatus);
    if(ssStatus.dwCurrentState == SERVICE_START_PENDING)
    ControlService(schService,SERVICE_CONTROL_CONTINUE,&ssStatus);

    if(ControlService(schService,SERVICE_CONTROL_STOP,&ssStatus)==FALSE){
    //showError(GetLastError());
    }
    if(DeleteService(schService)==FALSE){ //showError(GetLastError());
    }
    CloseServiceHandle (schService);比如USB串行端口的服务名称是"USB Root Hub"等等...