定出代码,调试成功后就给分。
默认站点---新建---虚拟目录---别名(例:aaa)--实际路径(例:c:wwwimg)--如果没有明确默认文挡就打开“浏览”权限。 一切OK
http://xxx.xxx.xx.xxx/aaa 就是你的虚拟目录
要Tcp/Ip 还是FTP?
我要的是用代码实现.
代码要300分 ,呵呵
给你,首先声明,这是copy的
ADSI 对象: IIS:IIsObjectIIsLogModulesADsPath : IIS://MachineName/LOGGINGIIsWebService Name : W3SVCADsPath : IIS://MachineName/W3SVCClass : IIsWebServiceGUID : {8B645280-7BA4-11CF-B03D-00AA006E0975}Parent IIS : //LocalHostSchema IIS : //LocalHost/schema/IIsMimeMapADsPath : IIS://MachineName/MIMEMAP
IIsWebService 层次IIsWebInfo:ADsPath : IIS://MachineName/W3SVC/INFOIIsWebServerADsPath : IIS://MachineName/W3SVC/N MachineName 是机器名.比如LocalHost N是机器上IIS开的虚拟站点(域名)的顺序号。第一个站是1,第2个是2IIsFiltersADsPath : IIS://MachineName/W3SVC/Filters 或是IIS://MachineName/W3SVC/N/Filters N是IIS上虚拟站点的顺序号
在IIS里添加一个虚拟目录的代码例子你可以到 搜索引擎里输入 ADSI 就可以找到相关连接。 不过国内的这个例子都是抄来抄去。都是同一个例子。关键是要摸准上面的关系。 也就是GETOBJECT时的顺序.
?
不知这个这个家伙是不是在玩病毒?一想到用程序处理IIS我第一印象就是病毒,嘻!
rwq_(风云浪子):我可不会编病毒。
重点关注
oocoolie(苦力)說的差不多,我有個同事去年做過,msdn里應該有詳細的例子。
procedure TForm3.BitBtn4Click(Sender: TObject);varDisp: IDispatch;beginDisp := 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;
2、使用Variant(就是类似VB和ASP的方法)procedure TForm2.BitBtn1Click(Sender: TObject);varWebSite, WebServer, WebRoot, VDir: Variant;beginWebSite := 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;
详细内容请看http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=468148
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(11)
默认站点---新建---虚拟目录---别名(例:aaa)--实际路径(例:c:wwwimg)--如果没有明确默认文挡就打开“浏览”权限。 一切OK
http://xxx.xxx.xx.xxx/aaa 就是你的虚拟目录
要Tcp/Ip 还是FTP?
我要的是用代码实现.
代码要300分 ,呵呵
给你,首先声明,这是copy的
ADSI 对象: IIS:
IIsObject
IIsLogModules
ADsPath : IIS://MachineName/LOGGING
IIsWebService Name : W3SVC
ADsPath : IIS://MachineName/W3SVC
Class : IIsWebService
GUID : {8B645280-7BA4-11CF-B03D-00AA006E0975}
Parent IIS : //LocalHost
Schema IIS : //LocalHost/schema/
IIsMimeMap
ADsPath : IIS://MachineName/MIMEMAP
IIsWebService 层次
IIsWebInfo:
ADsPath : IIS://MachineName/W3SVC/INFO
IIsWebServer
ADsPath : IIS://MachineName/W3SVC/N MachineName 是机器名.
比如LocalHost N是机器上IIS开的虚拟站点(域名)的顺序号。
第一个站是1,第2个是2
IIsFilters
ADsPath : IIS://MachineName/W3SVC/Filters 或是
IIS://MachineName/W3SVC/N/Filters N是IIS上虚拟站点的顺序号
在IIS里添加一个虚拟目录的代码例子你可以到 搜索引擎里
输入 ADSI 就可以找到相关连接。 不过国内的这个例子都是抄来抄去。都是同一个
例子。关键是要摸准上面的关系。 也就是GETOBJECT时的顺序.
?
不知这个这个家伙是不是在玩病毒?一想到用程序处理IIS我第一印象就是病毒,嘻!
rwq_(风云浪子):我可不会编病毒。
重点关注
oocoolie(苦力)說的差不多,我有個同事去年做過,msdn里應該有詳細的例子。
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;
2、使用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;
详细内容请看
http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=468148