您的位置:首页 > 编程语言 > Delphi

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

2009-04-29 21:58 344 查看
//在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;

//删除虚拟目录[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;[/code]
{检测是否有虚拟目录}

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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: