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

原创 2004年08月27日 22:35:00

    网上有很多关于用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('/SYSTEM/ControlSet001/Services/W3SVC/Parameters/Virtual 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+'/inetsrv/inetmgr.exe'),sw_shownormal);
       exit;
    end
  else
    begin
  registerTemp := TRegistry.Create; //建立一个Registry实例
  with registerTemp do
    begin
      RootKey:=HKEY_LOCAL_MACHINE;//设置根键值为HKEY_LOCAL_MACHINE

//找到或创建/SYSTEM/ControlSet001/Services/W3SVC/Parameters/Virtual Roots,写入IIS配置信息
     if OpenKey('/SYSTEM/ControlSet001/Services/W3SVC/Parameters/Virtual 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()来替代。如大家对此有兴趣的话可以与我联系。xh416@163.net   QQ:49055028

利用iis虚拟目录实现文件服务器功能(分布式存储)

通过网站上传文件保存到统一的文件服务器上。 服务器说明: 1.文件服务器以下称为FilesServer,IP地址为:192.168.1.213 2.Web服务器为以下称为WebS...
  • qq_27376871
  • qq_27376871
  • 2016年08月02日 13:14
  • 1772

VS中 无法创建虚拟目录

从前就有个疑问了,为什么我拉取别人写好的代码后就可以在IIS里面生成一个网站呢?这里所谓的生成网站,是指包含了所有源代码文件的网站;相对地,发布网站,就是指包含被编译的源文件所得到的DLL文件的网站。...
  • Sven1520
  • Sven1520
  • 2016年12月23日 22:22
  • 4568

IIS - 虚拟目录与应用程序的异同

在Windows 7 IIS7中,对服务器建立站点后,有二种添加子站点的方式 A. 虚拟目录 B. 应用程序 简单总结下二者之间的异同 A.虚拟目录     虚拟目录是指在站点下建立...
  • xiaoqijun
  • xiaoqijun
  • 2013年11月17日 20:48
  • 8602

IIS虚拟目录的建立与使用

  • 2012年12月13日 16:20
  • 29KB
  • 下载

IIS虚拟目录建立工具

  • 2008年02月24日 01:56
  • 38KB
  • 下载

配置IIS:建立虚拟目录或站点

  • 2011年01月10日 17:15
  • 135KB
  • 下载

IIS下建立负载均衡的虚拟目录方法

IIS下建立负载均衡虚拟目录的方法当有两台负载均衡服务器(同时运行相同的网站),需要让其访问共同的目录文件,且保证目录文件上传、下载都能正常运作,有两种解决途径(还有很多种方法): 1、在负载均衡所在...
  • zzy5066
  • zzy5066
  • 2017年05月31日 11:18
  • 326

利用iis虚拟目录实现文件服务器功能(分布式存储)

通过网站上传文件保存到统一的文件服务器上。 服务器说明: 1.文件服务器以下称为FilesServer,IP地址为:192.168.1.213 2.Web服务器为以下称为WebS...
  • qq_27376871
  • qq_27376871
  • 2016年08月02日 13:14
  • 1772

windows 2008 server 实现 IIS 虚拟目录共享

设备: Server A : 192.168.10.4    Server B : 192.168.10.5  需求: Server A 和 Server B 作为两台 web , 采用双机的...
  • fairplay_li
  • fairplay_li
  • 2013年01月20日 21:35
  • 4448

IIS虚拟目录实现与文件服务器网络驱动器映射共享

这篇文章转载别人,想原创作者致敬! 我本人也遇到同样的问题,故转载记录。 本文重点描述如何使用IIS访问共享资源来架设站点或执行 ASP.Net 等脚本。 通常情况下,拥有多台服务器的朋友在使用...
  • uixor_
  • uixor_
  • 2012年03月12日 22:07
  • 545
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用DELPHI通过写注册表来实现建立IIS的虚拟目录!
举报原因:
原因补充:

(最多只允许输入30个字)