文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>[转]有关IIS的虚拟目录的控制总结

[转]有关IIS的虚拟目录的控制总结

时间:2011-01-05  来源:Julin Rain

程序中需USE   COMOBJ单元  
  1.Q:如何得到机器上IIS中所有的WEB虚拟站点.  
   
  A:  
   
  var  
      InstallPath:   String;  
      WebSite,   WebServer,   WebRoot:   Variant;  
      count:   Integer;  
      Flag:   Boolean;  
  begin  
        Flag   :=True;  
        count   :=1;  
   
        while     Flag   do  
        begin  
              try  
   
                  WebSite   :=CreateOLEObject('IISNamespace');  
                  WebSite   :=   WebSite.GetObject('IIsWebService',   'localhost/w3svc');  
                  WebServer   :=   WebSite.GetObject('IIsWebServer',   inttostr(count));  
                  Memo1.Lines.Add(WebServer.ServerComment);  
                  inc(count);  
                  except  
                      flag   :=False;  
                  end;  
          end;  
   
  2.   Q:通过程序控制默认WEB站点的启动,停止,暂停  
  A:  
  //停止WEB站点  
   
  procedure   TForm1.btn_stopClick(Sender:   TObject);  
  var  
      InstallPath:   String;  
      WebSite,   WebServer,   WebRoot:   Variant;  
  begin  
        try  
              WebSite   :=CreateOLEObject('IISNamespace');  
              WebSite   :=   WebSite.GetObject('IIsWebService',   'localhost/w3svc');  
              WebServer   :=   WebSite.GetObject('IIsWebServer',   '1');  
              if   string(webserver.ServerState)   ='2'   then  
              begin  
                  webserver.stop;  
                  showmessage('停止服务成功');  
              end;  
        except  
              showmessage('停止服务失败');  
        end;  
   
  end;  
   
  //启动WEB站点  
   
  procedure   TForm1.btn_startClick(Sender:   TObject);  
  var  
      InstallPath:   String;  
      WebSite,   WebServer,   WebRoot:   Variant;  
  begin  
          try  
              WebSite   :=CreateOLEObject('IISNamespace');  
              WebSite   :=   WebSite.GetObject('IIsWebService',   'localhost/w3svc');  
              WebServer   :=   WebSite.GetObject('IIsWebServer',   '1');  
              if   string(webserver.ServerState)   ='4'   then  
              begin  
                  webserver.start;  
                  showmessage('启动服务成功');  
              end;  
          except  
              showmessage('启动服务失败');  
          end;  
   
   
  end;  
   
  //暂停WEB站点  
   
  procedure   TForm1.btn_pauseClick(Sender:   TObject);  
  var  
      InstallPath:   String;  
      WebSite,   WebServer,   WebRoot:   Variant;  
  begin  
      try  
          WebSite   :=CreateOLEObject('IISNamespace');  
          WebSite   :=   WebSite.GetObject('IIsWebService',   'localhost/w3svc');  
          WebServer   :=   WebSite.GetObject('IIsWebServer',   '1');  
          if   string(webserver.ServerState)   ='2'   then  
          begin  
              webserver.pause;  
              showmessage('暂停服务成功');  
          end;  
      except  
          showmessage('暂停服务失败');  
      end;  
   
  end;  
   
   
   
  3.虚拟目录的创建  
  a:以程序在网上或超级猛料中也有,但都没有指定应用程序名,以下程序已完成此功能  
  var  
      InstallPath:   String;  
      WebSite,   WebServer,   WebRoot,   VDir:   Variant;  
  begin  
      WebSite   :=   CreateOleObject('IISNamespace');  
      WebSite   :=   WebSite.GetObject('IIsWebService',   'localhost/w3svc');  
      WebServer   :=   WebSite.GetObject('IIsWebServer',   '1');  
      webserver.setinfo;  
      WebRoot   :=   WebServer.GetObject('IIsWebVirtualDir',   'Root');  
      VDir   :=   WebRoot.Create('IIsWebVirtualDir',   'VariantTest');  
      VDir.AccessRead   :=   True;  
      VDir.Path   :=   'C:\test';  
      VDir.AppCreate(True);     //如果没有这句的话,虚拟目录就要人为的手工创建应用程序名  
   
      VDir.SetInfo;  
  Q:如何得到WEB站点的IP和端口  
   
  A:此次以WEB站点为例  
   
  var  
      InstallPath:   String;  
      WebSite,   WebServer,   WebRoot:   Variant;  
      ar:   array   of   variant;  
  begin  
      try  
          WebSite   :=CreateOLEObject('IISNamespace');  
          WebSite   :=   WebSite.GetObject('IIsWebService',   'localhost/w3svc');  
          WebServer   :=   WebSite.GetObject('IIsWebServer',   '3');  
          ar   :=         webserver.ServerBindings;       //把IIS虚拟站点绑定的IP、端口、域名的值放入数组  
          showmessage(ar[0]);  
   
        except  
        end;  
   
  更多的请大家查看MSDN中有关ADSI的页面

相关阅读 更多 +
排行榜 更多 +
无限Fps

无限Fps

飞行射击 下载
幸存者时间僵尸

幸存者时间僵尸

飞行射击 下载
金属兄弟Metal Brother

金属兄弟Metal Brother

冒险解谜 下载