程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 用DELPHI通過寫注冊表來實現建立IIS的虛擬目錄

用DELPHI通過寫注冊表來實現建立IIS的虛擬目錄

編輯:Delphi
     網上有很多關於用Delphi來建立IIS的虛擬目錄的例子,但都是需要加載類庫,我這裡則采用寫注冊表的方式來實現,方法簡單,主要是不需要加入類的復雜過程,唯一的不同是需要重啟電腦後才能生效。代碼如下:

  procedure TForm1.Button1Click(Sender: TObject);
  var
    RegODBC:TRegistry;
    registerTemp : TRegistry;
    SysPath: array [0..255] of char;
  begin
    RegODBC:=TRegistry.create;     //訪問注冊表
    RegODBC.RootKey:=HKEY_LOCAL_MacHINE;
    RegODBC.OpenKey('SYSTEMControlSet001ServicesW3SVCParametersVirtual Roots',True);
    getsystemdirectory(SysPath,255);
    if regodbc.ValueExists('/fire') then
      begin
        suimessage1.Text:='本機WEB已存在名為fire的虛擬目錄。'+#13#10+'請將此fire刪除或重命名。';
          suimessage1.IconType:=suistop;
          suimessage1.ButtonCount:=1;
          suimessage1.Caption:='錯誤';
          if suimessage1.ShowModal=mrok then
            winexec(pchar(SysPath+'inetsrvinetmgr.exe'),sw_shownormal);
         exit;
      end
    else
      begin
    registerTemp := TRegistry.Create; //建立一個Registry實例
    with registerTemp do
      begin
        RootKey:=HKEY_LOCAL_MACHINE;//設置根鍵值為HKEY_LOCAL_MacHINE

  //找到或創建SYSTEMControlSet001ServicesW3SVCParametersVirtual Roots,寫入IIS配置信息
       if OpenKey('SYSTEMControlSet001ServicesW3SVCParametersVirtual Roots',True) then
         begin
           WriteString('/fire','E:fire,,205');
         end
       else//創建鍵值失敗
         begin
            suimessage1.Text:='IIS配置失敗,本程序即將關閉。'+#13#10+'關閉後請先檢查Internet服務管理器,排除錯誤或安裝後再運行本程序。';
            suimessage1.IconType:=suistop;
            suimessage1.ButtonCount:=1;
            suimessage1.Caption:='錯誤';
          if suimessage1.ShowModal=mrok then
             application.Terminate ;
         end;
       CloseKey;
      Free;
    end;   
      end;
    RegODBC.Free;
   end;
  

   說明:代碼中用到了suipack4控件的suimessagedialog組件,例子的確認窗口也可通過Application.MessageBox()來替代。如大家對此有興趣的話可以與我聯系。[email protected]   QQ:49055028
  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved