在DELPHI中用ADSI来控制IIS,检测、增加、删除虚拟目录

//在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; 

你可能感兴趣的:(在DELPHI中用ADSI来控制IIS,检测、增加、删除虚拟目录)