让自己的软件实现双击打开文件

简介: 让自己的软件实现双击打开文件 作者:帅宏军 unit shjAssociateFileType; interface uses Windows, Registry; {将文件类型strFileExtension与程序strExeFile...

让自己的软件实现双击打开文件

作者:帅宏军

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.

相关文章
win10下双击运行.bat文件,一闪而过
直接在cmd运行.bat里面的命令可以运行,但是双击.bat就是一闪而过,那么为什么会出现这样的问题呢,一般情况是.bat里面的命令,在双击运行的环境下出现了问题导致的。
1555 0
win10下双击运行.bat文件,一闪而过
|
C++ Windows
windows从右键菜单选择vscode打开当前目录项目
vscode 每次打开新项目都要先打开vscode在从里面打开目录,每次这样感觉效率比较低,就想着能不能有一个我直接在当前目录下右键菜单,点一下就直接用vscode打开当前目录,总共找到3种方案
136 0
MAC中让右键菜单出现终端(命令行)打开文件夹的功能
MAC中让右键菜单出现终端(命令行)打开文件夹的功能
298 0
MAC中让右键菜单出现终端(命令行)打开文件夹的功能
|
Shell Windows
Windows在当前路径下打开cmd不用复制粘贴
Windows在当前路径下打开cmd不用复制粘贴
153 3
|
存储 搜索推荐 程序员
Win + R 打开常用软件及文件夹
朋友们,电脑桌面是不是一天比一天乱,很多人都喜欢在电脑桌面上放置好多文件和应用的快捷方式,一般电脑桌面的文件都是占用系统盘C盘的空间,如果电脑桌面文件越来越多会影响电脑的性能。因此尽量不要把大文件放在C盘。
某文件在桌面上,命令窗口中找不到,因为桌面是两个目录合成的
某文件在桌面上,命令窗口中找不到,因为桌面是两个目录合成的
96 0
|
XML Linux 数据格式
LINUX右键打开方式,如何同时存在多种应用?
LINUX右键打开方式,如何同时存在多种应用?
93 0
|
Linux
如何让应用出现在LINUX的右键/打开方式/更多应用
如何让应用出现在LINUX的右键/打开方式/更多应用
151 0
|
Windows
Win系统 - 文件夹或文件已在另一程序中打开怎么办?
Win系统 - 文件夹或文件已在另一程序中打开怎么办?
626 0
Win系统 - 文件夹或文件已在另一程序中打开怎么办?

热门文章

最新文章

下一篇
开通oss服务