判断一个虚拟目录是否存在

    技术2022-05-11  71

    unit U_IIS;

    interface

    uses  ComObj, Variants;    //一、判断一个虚拟目录是否存在:  function IsVirtualDirExist(strVirtualDir: string): Boolean;  //二、新建一个虚拟目录:  function CreateVirtualDir(strVirtualDir, strRealPath: string): Boolean;  //三、删除一个虚拟目录:  function DeleteVirtualDir(strVirtualDir: string): Boolean;

    implementation

    //一、判断一个虚拟目录是否存在:function IsVirtualDirExist(strVirtualDir: string): Boolean;var  WebSite, WebServer, WebRoot, VDir: Variant;begin  Result := True;  try    try      WebSite := CreateOleObject('IISNamespace');      WebSite := WebSite.GetObject('IIsWebService', 'localhost/w3svc');      WebServer := WebSite.GetObject('IIsWebServer', '1');      WebRoot := WebServer.GetObject('IIsWebVirtualDir', 'Root');      VDir := WebRoot.GetObject('IIsWebVirtualDir', strVirtualDir);    except      Result := False;    end;  finally    WebSite := Unassigned;    WebServer := Unassigned;    WebRoot := Unassigned;    VDir := Unassigned;  end;end;

    //二、新建一个虚拟目录:function CreateVirtualDir(strVirtualDir, strRealPath: string): Boolean;var  WebSite, WebServer, WebRoot, VDir: Variant;begin  Result := True;  try    try      WebSite := CreateOleObject('IISNamespace');      WebSite := WebSite.GetObject('IIsWebService', 'localhost/w3svc');      WebServer := WebSite.GetObject('IIsWebServer', '1');      WebRoot := WebServer.GetObject('IIsWebVirtualDir', 'Root');      VDir := WebRoot.Create('IIsWebVirtualDir', strVirtualDir);      VDir.AccessRead := True;      VDir.AccessWrite := True;      VDir.AccessScript := True; //允许访问脚本      VDir.Path := strRealPath;      VDir.SetInfo;    except      Result := False;    end;  finally    WebSite := Unassigned;    WebServer := Unassigned;    WebRoot := Unassigned;    VDir := Unassigned;  end;end;

    //三、删除一个虚拟目录:function DeleteVirtualDir(strVirtualDir: string): Boolean;var  WebSite, WebServer, WebRoot: Variant;begin  Result := True;  try    try      WebSite := CreateOleObject('IISNamespace');      WebSite := WebSite.GetObject('IIsWebService', 'localhost/w3svc');      WebServer := WebSite.GetObject('IIsWebServer', '1');      WebRoot := WebServer.GetObject('IIsWebVirtualDir', 'Root');      WebRoot.delete('IIsWebVirtualDir', strVirtualDir);    except      Result := False;    end;  finally    WebSite := Unassigned;    WebServer := Unassigned;    WebRoot := Unassigned;  end;end;

    end.


    最新回复(0)