如題!問題比較急,在線等!
解决方案 »
- delphi 交流群4654765
- 想 Hook 系统级的 WM_PAINT ,但是总是检查不到该消息!!??
- DELPHI改版计划及小版版主重新申请通知
- 高分求Tcanvas对象接受鼠标事件
- 关于变体函数不能使用的问题
- ★★★CSDN结贴联盟第1次信誉提问!!★★★
- 怎样让新建的form像OpenDialog一样,总在最前,而且不允许点击其他form,否则beep ?
- 江湖救急!悬赏50元!怎样在字符串中识别tab制表符?
- 高分求助:基于SQL SERVER网络远程数据库应用解决方案问题!!!
- 如何动态创建数据表?
- 救命呀!Delphi裡出錯誤
- <由于是新手,所以会有很多问题要请教的>关于关闭窗口的问题!
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;end;
http://www.csdn.net/develop/Read_Article.asp?Id=25785