//在DELPHI中用ADSI來控制IIS,檢測、增加、删除虛拟目錄
//========================================================
//本代碼轉自網絡,是WebService開發時經常要用到的東東,感謝原作者
//本人稍作修改,并将其整理,希望對大家有用
//========================================================
//删除虛拟目錄應用程式名
function DeleteVirtualDirApp(strVirtualDir: string): Boolean;
var
WebSite, WebServer, WebRoot, vdir: Variant;
begin
Result := True;
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);
vdir.AppDelete;
vdir.SetInfo;
except
Result := False;
end;
end;[/code]
//删除虛拟目錄[codes=delphi]
function DeleteVirtualDir(strVirtualDir: string): Boolean;
var
WebSite, WebServer, WebRoot, vdir: Variant;
begin
Result := True;
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;
end;
{檢測是否有虛拟目錄}
function CheckVirtualDir(const strVirtualDir: string): Boolean;
var
WebSite, WebServer, WebRoot, vdir: Variant;
begin
Result := True;
try
WebSite := CreateOleObject('IISNamespace');
WebSite := WebSite.GetObject('IIsWebService', 'localhost/w3svc');
WebServer := WebSite.GetObject('IIsWebServer', '1');
WebRoot := WebServer.GetObject('IIsWebVirtualDir', 'Root');
WebRoot.GetObject('IIsWebVirtualDir', strVirtualDir);
except
Result := False;
end;
end;
function CreateVirtualDir(const strVirtualDir, strDir, strAppName: string): Boolean;
var
WebSite, WebServer, WebRoot, vdir: Variant;
begin
Result := True;
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.AccessScript := True; //執行許可為純腳本
vdir.DefaultDoc := 'index.aspx,index.asp'; //預設文檔
vdir.EnableDirBrowsing := False;
vdir.AppFriendlyName := strAppName; //應用程式名
vdir.Path := strDir;
vdir.AppCreate(True); //如果沒有這句的話,虛拟目錄就要人為的手工建立應用程式名
vdir.SetInfo;
except
Result := False;
end;
end;