在IIS中的虚拟目录怎样用命令来创建虚拟目录的应用程序名称 如题,请各位帮忙阿 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在Delphi中用ADSI创建IIS的虚拟目录 2004-04-05 18:05:14 先引入类型库(Project|Import Type Library)adsiis.dll、iisext.dll和activeds.tlb,新建一个单元,声明:unit ActiveDs;interfacefunction ADsGetObject(const PathName: WideString; const GUID: TGUID; out I: IUnknown): HRESULT; stdcall;implementationfunction ADsGetObject; external ’activeds.dll’ name ’ADsGetObject’;end.procedure TForm1.btn2Click(Sender: TObject);varI: IADsContainer;ADs: IADs;beginif ADsGetObject('IIS://localhost/w3svc', IID_IADsContainer, IUnknown(I)) = S_Ok thenbegin ADs := IADs(I.GetObject('IIsWebServer', '1')); if ADs.QueryInterface(IID_IADsContainer, I) = S_OK then begin ADs := IADs(I.GetObject('IIsWebVirtualDir', 'Root')); if ADs.QueryInterface(IID_IADsContainer, I) = S_OK then begin ADs := IADs(I.Create('IIsWebVirtualDir', 'DelphiTest')); ADs.Put('AccessRead', 'True'); ADs.Put('Path', 'F:\My Documents\Indy9Demos_26Oct04\Indy9Demos\HTTPServer\web'); ADs.SetInfo; end; end;end;end;procedure TForm1.btn3Click(Sender: TObject);var Disp: IDispatch;begin Disp := IISNamespace.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;procedure TForm1.btn4Click(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; 首先,非常感谢 constantine(飘遥的安吉儿) 可是我的问题依然没有解决,用命令来创建虚拟目录的应用程序名称上述过程是可以建立虚拟目录了,但是这个目录属性应用程序设置处我还不能建立应用程序名称,请constantine(飘遥的安吉儿) 再帮帮我,谢谢 procedure TForm1.btn1Click(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', 'AppTest'); VDir.AccessRead := True; VDir.Path := 'C:\DELPHI'; VDir.AppCreate(True); //这样就可以让iis自动创建了,不过名字留空的 VDir.SetInfo;end; 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', 'VariantTest3'); VDir.AccessRead := True; VDir.Path := 'C:\DELPHI'; VDir.AppCreate(True);//这样就可以让iis自动创建了,不过名字留空的 VDir.AppFriendlyName:='test'; //加上这个就可以自己添加名字了,名字自己修改吧 VDir.SetInfo;end; 非常感谢constantine(飘遥的安吉儿) 寻C++、Delphi双修高手(10.01.15) 郁闷的程序员 使用ImgScan控件控制扫描仪报“扫描仪或扫描仪处理程序错误”!!! 再开贴求叫如何用qreport打印水印,怎么设置水印 关于TList的问题,请各位帮忙. 一个很急的问题!!!(高分求救) 如何按下按钮可以弹出系统的“日期和时间”设置窗口 对websnap + mts感兴趣的进来 超高难度问题,挑战CSDN群雄 用treeview.selected.属性存储多个字符串信息,可以吗? 各位看官來看看這些貼子 大家帮忙啊,在线等待,急!
2004-04-05 18:05:14
先引入类型库(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.procedure TForm1.btn2Click(Sender: TObject);
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'));
if ADs.QueryInterface(IID_IADsContainer, I) = S_OK then
begin
ADs := IADs(I.GetObject('IIsWebVirtualDir', 'Root'));
if ADs.QueryInterface(IID_IADsContainer, I) = S_OK then
begin
ADs := IADs(I.Create('IIsWebVirtualDir', 'DelphiTest'));
ADs.Put('AccessRead', 'True');
ADs.Put('Path', 'F:\My Documents\Indy9Demos_26Oct04\Indy9Demos\HTTPServer\web');
ADs.SetInfo;
end;
end;
end;
end;procedure TForm1.btn3Click(Sender: TObject);
var
Disp: IDispatch;
begin
Disp := IISNamespace.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;procedure TForm1.btn4Click(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;
可是我的问题依然没有解决,用命令来创建虚拟目录的应用程序名称
上述过程是可以建立虚拟目录了,但是这个目录属性应用程序设置处我还不能建立应用程序名称,
请constantine(飘遥的安吉儿)
再帮帮我,谢谢
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', 'AppTest');
VDir.AccessRead := True;
VDir.Path := 'C:\DELPHI';
VDir.AppCreate(True); //这样就可以让iis自动创建了,不过名字留空的
VDir.SetInfo;
end;
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', 'VariantTest3');
VDir.AccessRead := True;
VDir.Path := 'C:\DELPHI';
VDir.AppCreate(True);//这样就可以让iis自动创建了,不过名字留空的
VDir.AppFriendlyName:='test'; //加上这个就可以自己添加名字了,名字自己修改吧
VDir.SetInfo;
end;