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.