Delphi 让自己的软件实现双击打开文件 转
unit shjAssociateFileType;
interface
uses Windows, Registry;
{将文件类型strFileExtension与程序strExeFileName相关联,strDiscription为文件类型说明}
function AssignToProgram(const strFileExtension, strDiscription, strExeFileName: string ): boolean;
implementation
{将文件类型strFileExtension与程序strExeFileName相关联,strDiscription为文件类型说明}
function AssignToProgram(const strFileExtension, strDiscription, strExeFileName: string ): boolean;
var
regFile: TRegistry;
begin
//建立一个Registry实例
regFile := TRegistry.Create;
with regFile do
begin
//设置根键值为HKEY_CLASSES_ROOT
RootKey := HKEY_CLASSES_ROOT;
//创建或者打开扩展名自动关联注册键
OpenKey( '.' + strFileExtension, true);
//设置扩展名自动关联
WriteString('', strFileExtension + '_Auto_File');
//关闭键
CloseKey;
//创建或者打开打开自动关联键
OpenKey(strFileExtension + '_Auto_File', true);
//设置文件类型说明
WriteString('', strDiscription);
//关闭键
CloseKey;
//创建或打开关联程序键
OpenKey(strFileExtension + '_Auto_File\shell\open\command', true);
//设置关联程序(注意:%1加上双引号,可以解决文件路径中含空格的问题)
WriteString('',strExeFileName + ' "%1"');
//关闭键
CloseKey;
//打开默认图标键
OpenKey(strFileExtension + '_Auto_File\defaulticon',true);
//关联默认图标
WriteString('', strExeFileName + ',0');
//释放
Free;
Result := True;
end;
end;
end.
Delphi 让自己的软件实现双击打开文件 转的更多相关文章
- xmind 8 便携版:关联文件后,双击打开文件,在当前文件夹产生configuration子文件的问题解决办法
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\.xmind] @="XMind.Workbook.3" " ...
- vs2013修改为双击打开文件
vs2012和vs2013默认是单击打开文件,让人突然就不习惯了,各种不爽. 修改方法: 工具-选项-环境-选项卡和窗口-不勾选允许在预览选项卡中打开新文件.
- Idea 设置单击打开文件或者双击打开文件、自动定位文件所在的位置
以下定位,框架下,打开文件的点击方式,以及点击标签导航页上的已打开文件定位到展开路径,如下图:
- IntelliJ Idea设置单击打开文件或者双击打开文件、自动定位文件所在的位置
- 【温故Delphi】双击工程文件打开软件
问题描述 大部分软件都有鼠标双击文件,就能打开所关联的软件并打开所选工程,这是如何做到的呢? 把文件关联到一个程序中,双击文件来启动程序,那么这个文件名称就是这个程序的命令行的一个参数. 所以要想实现 ...
- Delphi 实现最近打开文件记录菜单
unit UntOpenMenu; //download by http://wwww.NewXing.com interface uses Windows, Messages, SysUtils, ...
- excel文件双击打开空白
excel文件双击打开之后进入软件,没有去读文件 一.现象描述 打开现象如下所示,只有excel模板,看不到excel中的表格模板. 二.想要打开文件 (1)在软件的文件--->打开--> ...
- 20160307 - 双击打开 Js 扩展名的附件要保持留心
Windows Script Host 技术是一门很老的技术,它让 Windows 的自带脚本 VBScript 和 JScript 可以操作 Windows ActiveX 对象,这样的脚本具有本地 ...
- delphi调用外部程序打开文件
delphi调用外部程序打开文件 ShellExecute的各种用法 一.利用系统默认的邮件收发器发送电子邮件 Uses ..., ShellAPI; Var lpHwnd: HWND; lpOper ...
随机推荐
- java集合--java.util.ConcurrentModificationException异常
ConcurrentModificationException 异常:并发修改异常,当方法检测到对象的并发修改,但不允许这种修改时,抛出此异常.一个线程对collection集合迭代,另一个线程对Co ...
- leetcode 4 : Median of Two Sorted Arrays 找出两个数组的中位数
题目: There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the ...
- 什么叫非阻塞io
而一个NIO的实现会有所不同,下面是一个简单的例子: ByteBuffer buffer = ByteBuffer.allocate(48); int bytesRead = inChannel.re ...
- windows系统下Python环境的搭建
1.下载最新的Python版本3.5.0.
- Case Study: Random Number Generation(翻译教材)
很荣幸,经过三天的努力.终于把自己翻译的教材做完了,现在把它贴出来,希望能指出其中的不足. Case Study: Random Number Generation Fig. 6.7 C++ 标 ...
- python中的MySQL数据库操作 连接 插入 查询 更新 操作
MySQL数据库 就数据库而言,连接之后就要对其操作.但是,目前那个名字叫做qiwsirtest的数据仅仅是空架子,没有什么可操作的,要操作它,就必须在里面建立“表”,什么是数据库的表呢?下面摘抄自维 ...
- IOS数据类型
id – 动态对象类型.动态类型和静态类型对象的否定词汇为 nil. Class – 动态类的类型.它的否定词汇为 Nil.SEL – 选择器的数据类型(typedef):这种数据类型代表运行时的一种 ...
- Android Dialogs(6)Dialog类使用示例:用系统theme和用自定义的theme
使用dialog时有很多 方法,其中一个就是直接 使用基类Dialog,可用来作一个没有按钮的非模态提示框,它可以直接从系统的主题构造也可从自定义的主题构造. 基本步骤: a,构造 b,调用dialo ...
- [POJ1330]Nearest Common Ancestors(LCA, 离线tarjan)
题目链接:http://poj.org/problem?id=1330 题意就是求一组最近公共祖先,昨晚学了离线tarjan,今天来实现一下. 个人感觉tarjan算法是利用了dfs序和节点深度的关系 ...
- Android布局详解之一:FrameLayout
原创文章,如有转载,请注明出处:http://blog.csdn.net/yihui823/article/details/6702273 FrameLayout是最简单的布局了.所有放在布局里的 ...