zoukankan      html  css  js  c++  java
  • 使用 TRegistry 类[4]: 文件打开与文件图标的关联

    代码文件:
    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
    
    type
      TForm1 = class(TForm)
        Memo1: TMemo;
        Button1: TButton;
        Button2: TButton;
        procedure Button1Click(Sender: TObject);
        procedure FormCreate(Sender: TObject);
        procedure Button2Click(Sender: TObject);
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    uses Registry, ShlObj;
    
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      Memo1.Align := alTop;
      Memo1.ScrollBars := ssBoth;
      Button1.Caption := '设置文件关联、图标关联';
      Button2.Caption := '取消设置';
    
      if (ParamStr(1) <> '') and FileExists(ParamStr(1)) then
        Memo1.Lines.LoadFromFile(ParamStr(1));
    end;
    
    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;
    
    end.
    
  • 相关阅读:
    基于Adaboost的人脸检测算法
    操作系统笔试题及答案
    eclipse Maven plugin 配置
    网站服务管理系统系列教程之五
    2017第4周日
    2017春节~人生智慧箴言
    2017年初夕
    2017农历二十九
    王国维收藏真伪
    2017第3周二假期里该做的事
  • 原文地址:https://www.cnblogs.com/del/p/1274892.html
Copyright © 2011-2022 走看看