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.