用DELPHI通过写注册表来实现建立IIS的虚拟目录

2016-02-19 12:48 22 1 收藏

下面图老师小编要跟大家分享用DELPHI通过写注册表来实现建立IIS的虚拟目录,简单的过程中其实暗藏玄机,还是要细心学习,喜欢还请记得收藏哦!

【 tulaoshi.com - 编程语言 】

      网上有很多关于用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;
  

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

   说明:代码中用到了suipack4控件的suimessagedialog组件,例子的确认窗口也可通过Application.MessageBox()来替代。如大家对此有兴趣的话可以与我联系。xh416@163.net   QQ:49055028
  

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

来源:https://www.tulaoshi.com/n/20160219/1602025.html

延伸阅读
标签: 电脑入门
Win8磁盘名称也能修改,你听说过吗?如果用户在将 XP 重装成Win8时,原本的硬盘分区名称可能会出现无法更改的情况,重新命名也都起不了作用。这种情况一般是因为使用XP系统下的Format Fdisk修改分区所造成的。那么我们该如何在这样的情况下重命名磁盘分区名字呢?下面请大家一起来看看。 以C盘命名为Windows8为例,执行 regedit 进入下列路径 [H...
    Windows注册表中包含了系统配置、机器硬件配置、Win32应用程序和用户的其他配置信息。注册表根据系统信息分为六个根键(RootKey),其中每个根键各有一个由子键和键值组成的树状结构,每个子键代表一个特定的配置项目。     用C++Builer控制注册表的要害在于了解TRegistry 类。在C++Builder的VC...
标签: windows 操作系统
注册表相当于电脑的神经系统,可以说电脑的一切都是用注册表来进行修改的。如果你熟练地掌握注册表,那么进行优化就非常容易,即使现在的那些所谓的优化软件大多数都是通过修改注册表来完成优化的。由于注册内容非常丰富,在本文中笔者就举几个对系统速度比较有影响的方面进行介绍。 一、一次点击即可关机 适用:Windows 98 ...
----毫不夸张的说,注册表相当于WIN95的“心”,几乎所有的Windows应用程序都毫不例外的要在这里边“安家筑巢”,如果你也用VB编写了一个程序,是不是也想在注册表里占有一席之地呢(即使刚才没有,现在大概也有了吧)?嗯,听我慢慢道来。 ----“API”中专门提供了处理注册表的函数,不用说也知道,它们肯定功能强大(因为它们是API)...
标签: 电脑入门
Win7 附件中的便签随用随贴,在工作中是个得力的助手。通常,在删除便签时,系统会跳出删除提示,以进一步确认。如下图所示: 但如果我们在不再显示此消息前的选择框内打上勾,下次系统就将不再询问,而直接删除。这样一来,有时一个匆忙或失误,就会把工作中的便签给关掉了。叹息后悔中,又想起删除便签提示的好来,该怎么去恢复呢?别急,...

经验教程

464

收藏

69
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部