zoukankan      html  css  js  c++  java
  • 让自己的软件实现双击打开文件(修改注册表设置关联)

    让自己的软件实现双击打开文件
    作者:帅宏军

    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_Fileshellopencommand', true);
        //设置关联程序(注意:%1加上双引号,可以解决文件路径中含空格的问题)
        WriteString('',strExeFileName + ' "%1"');
        //关闭键
        CloseKey;
        //打开默认图标键
        OpenKey(strFileExtension + '_Auto_Filedefaulticon',true);
        //关联默认图标
        WriteString('', strExeFileName + ',0');
        //释放
        Free;
        Result := True;
      end;
    end;
    end.

    http://blog.csdn.net/shuaihj/article/details/7046515

  • 相关阅读:
    HttpClient 学习整理
    matlab练习程序(感知哈希对比图片)
    matlab练习程序(Floyd–Steinberg dithering)
    matlab练习程序(使用DCT图像增强)
    Win控制台(多线程)
    我的第一个lisp程序
    matlab练习程序(Harris角点检测)
    matlab练习程序(PCA)
    lisp(判断回文数)
    matlab练习程序(透视变换)
  • 原文地址:https://www.cnblogs.com/findumars/p/5345733.html
Copyright © 2011-2022 走看看