unit main;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,activeds,comobj;
type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(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:\test');
(Disp as IADs).SetInfo;end;
为什么不行说 找不到iisnamespace1
Disp := IISNamespace1.GetObject('IIsWebService', 'localhost/w3svc');

解决方案 »

  1.   

    procedure SetFTPDirectory;
    var
      hk : HKEY;
      dwDisposition : DWORD;
      dwTemp: DWORD;
      ValueType, ValueSize: DWORD;
      DataBuf: array [0..MAX_LENGTH - 1] of Char;
    begin
      if (Ver_System = WINNT) and (SMPSetup.Selected or SCPSetup.Selected) then
      begin
        RegCreateKeyEx($80000002, 'SYSTEM\CurrentControlSet\Services\MSFTPSVC\Parameters',
                       0, nil, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, nil,
                       hk, @dwDisposition);
        dwTemp := 0;
        RegSetValueEx(hk, 'AllowAnonymous', 0, REG_DWORD, PByte(@dwTemp), SizeOf(dwTemp));
        RegSetValueEx(hk, 'AnonymousOnly', 0, REG_DWORD, PByte(@dwTemp), SizeOf(dwTemp));
        RegCloseKey(hk);
        RegCreateKeyEx($80000002, 'SYSTEM\CurrentControlSet\Services\MSFTPSVC\Parameters\Virtual Roots',
                       0, nil, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, nil,
                       hk, @dwDisposition );
        ValueType := REG_SZ;
        ValueSize := MAX_LENGTH;
        if RegQueryValueEx(hk, '/,', nil, @ValueType, PBYTE(@DataBuf), @ValueSize) <> ERROR_SUCCESS then
          RegSetValueEx(hk, '/', 0, REG_SZ, PChar(Ver_Directory + '\Zxin10,,3'), StrLen(PChar(Ver_Directory + '\Zxin10,,3')))
        else
          RegSetValueEx(hk, '/,', 0, REG_SZ, PChar(Ver_Directory + '\Zxin10,,3'), StrLen(PChar(Ver_Directory + '\Zxin10,,3')));
        if SMPSetup.Selected then
          RegSetValueEx(hk, '/CheckLog,', 0, REG_SZ, PChar(Ver_Directory + '\Zxin10\CheckLog,,3'), StrLen(PChar(Ver_Directory + '\Zxin10\CheckLog,,3')));
        RegCloseKey(hk);
      end;
    end;