delphi7.0操作iis(网络编程高手快来帮我,在线等待,解决给分!) 在delphi7.0中如何操作iis,如停止,重起,新一个虚拟目录,删除一虚拟目录等!谢谢!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Delphi中用Adsi创建IIS虚拟目录 先引入类型库(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; 先引入类型库(Project|Import Type Library)adsiis.dll、iisext.dll和activeds.tlb可是这二个dll文件和一个tlb文件没有啊,我在网上找了好久,就是没有下载的地方,麻烦您帮我找找好吗? 方法三中:“WebSite := CreateOleObject('IISNamespace');“IISNamespace 这里新建一个对象是调delphi集成的组件吗,还是要添加.dll文件呢????有没有代码能够直接运行的呢???谢谢!不会帮我顶一下吧!! var Disp: IDispatch;和var WebSite, WebServer, WebRoot, VDir: Variant;为什么这两个地方定义变量就出错了呢???? 先引入类型库(Project|Import Type Library)adsiis.dll、iisext.dll和activeds.tlb可是这二个dll文件和一个tlb文件没有啊,我在网上找了好久,就是没有下载的地方,麻烦您帮我找找好吗?------------你没有用过系统控件?你看看是不是有3个Active DS 开头的,它们的库文件就是这三个名字,安装它们 先引入类型库(Project|Import Type Library)adsiis.dll、iisext.dll和activeds.tlb这三个东东是系统自带的,你编程序本机最好安装好IIS 谢谢!!oysy(太阳之子)可是安装以后还是出错如下:var Disp: IDispatch;和var WebSite, WebServer, WebRoot, VDir: Variant;为什么这两个地方定义变量就出错了呢???? 没有Uses ActiveX,Variants的Unit吧? uses comobj;var InstallPath: String; WebSite, WebServer, WebRoot: Variant; begin WebSite :=CreateOLEObject('IISNamespace'); WebSite := WebSite.GetObject('IIsWebService', 'localhost/w3svc'); WebServer := WebSite.GetObject('IIsWebServer', '1'); if string(webserver.ServerState) ='2' then //如果为2则代表运行状态 webserver.stop;// 停止 if string(webserver.ServerState) ='4' then //停止状态 webserver.start; //启动 if string(webserver.ServerState) ='6' then //暂停状态 webserver.start; //启动 本例是测试默认WEB,以上代码后半段是几种状态,请勿直接COPY建议楼主在GOOGLE中搜索ADSI, 嗯?游民blog上说的是这个帖子? treeview 的父节点和子节点取值问题! 请问哪里有dbgrideh 控件for delphi7下载???? 急急!!!医院影像信息信号到达工作站的电脑上,怎么样在DELPHI中捕捉将信号转化为图像??求救!! 新增一行,到最后一列,回车,再新增一行!遇到的问题,请大家指点迷津!谢谢!!!! db数据库问题 !!!!不能让我不停的检测吧,怎么办!!!! 添加记录时提示? 求教n的阶乘的算法。 请问Delphi怎样才能开发xp效果文件? 运行时报错“capability not supported”? 再次感谢各位兄弟姐妹这些对我的帮助!!!希望【斑竹】不要删! 关于怎样获取wav信息
先引入类型库(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;
IISNamespace 这里新建一个对象是调delphi集成的组件吗,还是要添加.dll文件呢????有没有代码能够直接运行的呢???谢谢!不会帮我顶一下吧!!
Disp: IDispatch;
和var
WebSite, WebServer, WebRoot, VDir: Variant;为什么这两个地方定义变量就出错了呢????
------------
你没有用过系统控件?你看看是不是有3个Active DS 开头的,它们的库文件就是这三个名字,安装它们
var
Disp: IDispatch;
和var
WebSite, WebServer, WebRoot, VDir: Variant;为什么这两个地方定义变量就出错了呢????
var
InstallPath: String;
WebSite, WebServer, WebRoot: Variant;
begin
WebSite :=CreateOLEObject('IISNamespace');
WebSite := WebSite.GetObject('IIsWebService', 'localhost/w3svc');
WebServer := WebSite.GetObject('IIsWebServer', '1');
if string(webserver.ServerState) ='2' then //如果为2则代表运行状态
webserver.stop;// 停止
if string(webserver.ServerState) ='4' then //停止状态
webserver.start; //启动
if string(webserver.ServerState) ='6' then //暂停状态
webserver.start; //启动
以上代码后半段是几种状态,请勿直接COPY建议楼主在GOOGLE中搜索ADSI,