procedure TForm1.Button1Click(Sender: TObject);
var
  reg: TRegistry;
begin
  reg := TRegistry.Create;
  reg.RootKey := HKEY_CLASSES_ROOT;

{在注册表中添加我们虚拟的 .tst 格式, 并指定默认项的值是 TestFile}
  reg.OpenKey('.tst', True);
  reg.WriteString('', 'TestFile');
  reg.CloseKey;

{文件打开关联}
  reg.OpenKey('TestFile\shell\open\command', True);
  reg.WriteString('', ParamStr(0) + ' %1');
  reg.CloseKey;

{文件图标关联}
  reg.OpenKey('TestFile\DefaultIcon', True);
  reg.WriteString('', ParamStr(0) + ',0');
  reg.CloseKey;

reg.Free;

{刷新图标显示}
  SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil);
end;

{清除上面的设置}
procedure TForm1.Button2Click(Sender: TObject);
var
  reg: TRegistry;
begin
  reg := TRegistry.Create;
  reg.RootKey := HKEY_CLASSES_ROOT;
  reg.DeleteKey('.tst');
  reg.DeleteKey('TestFile');
  reg.Free;
  SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil);
end;

也可以通过手动设置文件关联,方法是:打开一个文件夹--工具--文件夹选项--“文件类型”选项卡---单击下面的“高级”。

用 INNO 是很方便的,不要写代码,直接用 [Registry] 段就行了。比如:
[Registry]
Root: HKCR; Subkey: "Real 媒体文件"; ValueType: String; ValueData: "Real 媒体文件";Flags: uninsdeletekey
Root: HKCR; Subkey: "Real 媒体文件\DefaultIcon"; ValueType: String; ValueData: "{app}\abc.ICO";Flags: uninsdeletekey
Root: HKCR; Subkey: "Real 媒体文件\shell\open\command"; ValueType: String; ValueData: "{app}\myplayer.exe %1";Flags: uninsdeletekey
Root: HKCR; Subkey: "Real 媒体文件\shell\用 My Player 打开(&O)\command"; ValueType: String; ValueData: "{app}\myplayer.exe %1";Flags: uninsdeletekey
Root: HKCR; Subkey: "*.rmvb"; ValueType: String; ValueData: "Real 媒体文件";Flags: uninsdeletekey
Root: HKCR; Subkey: "*.rm"; ValueType: String; ValueData: "Real 媒体文件";Flags: uninsdeletekey
Root: HKCR; Subkey: "*.ra"; ValueType: String; ValueData: "Real 媒体文件";Flags: uninsdeletekey

转载于:https://www.cnblogs.com/smallmuda/archive/2009/08/13/1545220.html

delphi和INNO SETUP 文件关联操作相关推荐

  1. Inno Setup 系列之操作ini文件

    需求 应用是多语言的,由ini文件控制具体是哪一类语言.安装程序也是多语言的,在选定安装包语言之后需要同步更新ini文件里面的语言值 ini文件如下: [General] language=en In ...

  2. Inno Setup 介绍

    Inno Setup 详解中文资料 其一:使用教程 一.Inno Setup 是什么? InnoSetup 是一个免费的 Windows 安装程序制作软件.第一次发表是在 1997 年,Inno Se ...

  3. Windows下使用Inno Setup 制作exe安装包

    原文地址:点击打开链接 Inno Setup 详解中文资料 其一:使用教程 一.Inno Setup 是什么? InnoSetup 是一个免费的 Windows 安装程序制作软件.第一次发表是在 19 ...

  4. Inno Setup使用教程【收藏】

    如何使用:  --------------------------------- 文档约定   创建安装程序   创建脚本   段内参数   一些常量   公共参数   安装脚本段   [Setup] ...

  5. 打包工具 Inno Setup 介绍

    Inno Setup 详解中文资料 其一:使用教程 一.Inno Setup 是什么? InnoSetup 是一个免费的 Windows 安装程序制作软件.第一次发表是在 1997 年,Inno Se ...

  6. 用Inno Setup来解决.NetFramework安装问题

    前段时间朋友接了一个项目,具体是开发一个安装在局域网内的软件,这个软件会定时连接局域网内的服务器来更新本地客户端的一些信息,因为在局域网内存在着多种不同的Windows版本,从WindowsXP.Wi ...

  7. inno setup读取XML文件

    在oschina上有一段inno setup读取xml的代码,用的是MSXML操作,对于修改XML配置文件,有一定作用.之后还需要添加保存XML文件. http://www.oschina.net/c ...

  8. Inno Setup 系列之卸载删除文件

    需求 Inno Setup 原则上是安装哪些文件就卸载那些文件. 但实际上往往会在应用的使用过程中,会生成一些日志文件或者在更新程序进行文件操作的时候,产生的文件,在卸载的时候,不能删掉,直接保留在原 ...

  9. Flutter桌面开发 — Windows App打包以及使用Inno Setup生成.exe文件安装包

    文章目录 1 打包 Flutter Windows App 1.1 开发环境准备 1.2 支持Windows 1.3 构建Windows App 2 使用Inno Setup生成.exe文件安装包 2 ...

最新文章

  1. [Silverlight入门系列]实现局部元素全屏(Element部分全屏)
  2. scanf函数和printf函数
  3. 玩转产品排期:让小伙伴们高效协作
  4. 方案一TCP 完成聊天室的编写
  5. linux命令apprw,linux命令学习1(示例代码)
  6. java求值不用后缀表达式_数据结构之后缀表达式求值(java实现)
  7. python与office结合可以干什么-Python 进行Office开发(以Word为例)
  8. cocos2d0基础篇笔记二
  9. 量子计算机具有天然的处理能力,新发现:光纤可用于构建具有强大计算与处理能力的超导量子计算机...
  10. Cgroup学习之——Ubuntu下交叉编译ARM平台libcgroup工具
  11. PHP - 支付宝小程序授权登录
  12. 【数字图像处理】霍夫(Hough)变换
  13. 国际c语言混乱编码大赛,国际C语言混乱代码大赛(IOCCC)
  14. 病毒、蠕虫、木马学习笔记
  15. python计算矩阵的散度_Python Sympy计算梯度、散度和旋度的实例
  16. Cadence制作flash焊盘时找不到
  17. dechex() 函数
  18. 数据是企业和社会发展的重要动力,AI从边缘发展到主流,未来十年信息技术将带来巨大“红利” | 大咖周语录
  19. LabVIEW编程LabVIEW开发 旧程序升级维护
  20. 粘贴板管理 android,安卓剪贴板管理(Clipper Plus)

热门文章

  1. Java虚拟机的Heap监狱
  2. Windows 平台下 Go 语言的安装和环境变量设置
  3. Object C为UILabel添加点击事件
  4. 计算机网络原理和应用,计算机网络原理与应用
  5. mysql实验四图书视图_[数据库实验四.doc
  6. access数据库拆分的用途_聊聊数据库设计一些经验 条条都是干货
  7. php 处理raw数据,php以raw格式传递数据
  8. 天津php二次开发培训,天津PHP后台开发培训短期班
  9. 计算机启动操作系统的过程,操作系统启动过程
  10. python 升级setuptools_linux 安装/升级 python3+setuptools+pip