手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>delphi>列表

Delphi中用Adsi创建IIS虚拟目录的方法

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
先引入类型库(Project|Import Type Library)adsiis.dll、iisext.dll和activeds.tlb新建一个单元,声明。

unit ActiveDs;

interface

 function ADsGetObject(const PathName: WideString; const GUID: 

TGUID; out I: IUnknown): HRESULT; stdcall;

implementation

 function ADsGetObject;   external 'activeds.dll' name 'ADsGetObject';

end.

方法一(参照C )

var

 I: IADsContainer;

 ADs: IADs;

begin

 if ADsGetObject('IIS://localhost/w3sVC', IID_IADsContainer, IUnknown(I)) = S_Ok then

 begin

  ADs := IADs(I.GetObject('IIsWebServer', '1'));

  ShowMessage(ADs.ADsPath);

  if ADs.QueryInterface(IID_IADsContainer, I) = S_OK then

  begin

   ADs := IADs(I.GetObject('IIsWebVirtualDir', 'Root'));

   ShowMessage(ADs.ADsPath);

   if ADs.QueryInterface(IID_IADsContainer, I) = S_OK then

   begin

    ADs := IADs(I.Create('IIsWebVirtualDir', 'DelphiTest'));

    ADs.Put('AccessRead', 'True');

    ADs.Put('Path', 'c:\Temp');

    ADs.SetInfo;

   end;

  end;

 end;

end;

方法二(使用接口)

procedure TForm3.BitBtn4Click(Sender: TObject);

var

 Disp: IDispatch;

begin

 Disp := IISNamespace1.GetObject('IIsWebService', 'localhost/w3svc');

 Disp := (Disp as IADsContainer).GetObject('IIsWebServer', '1');

 Disp := (Disp as IADsContainer).GetObject('IIsWebVirtualDir', 'Root');

 Disp := (Disp as IADsContainer).Create('IIsWebVirtualDir', 'DelphiADSITest');

 (Disp as IADs).Put('AccessRead', 'True');

 (Disp as IADs).Put('Path', 'c:\ADSITest');

 (Disp as IADs).SetInfo;

end;

方法三(使用Variant,就是类似VB和ASP的方法)

procedure TForm2.BitBtn1Click(Sender: TObject);

var

 WebSite, WebServer, WebRoot, VDir: Variant;

begin

 WebSite := CreateOleObject('IISNamespace');

 WebSite := WebSite.GetObject('IIsWebService', 'localhost/w3svc');

 WebServer := WebSite.GetObject('IIsWebServer', '1');

 WebRoot := WebServer.GetObject('IIsWebVirtualDir', 'Root');

 VDir := WebRoot.Create('IIsWebVirtualDir', 'VariantTest');

 VDir.AccessRead := True;

 VDir.Path := 'C:\Test';

 VDir.SetInfo;

end;

(T113)

上一篇: 快速上手Delphi三十六计之输入处理篇
下一篇: 金手指Delphi中MsComm控件的安装使用

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!