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