delphi和INNO SETUP 文件关联操作
生活随笔
收集整理的這篇文章主要介紹了
delphi和INNO SETUP 文件关联操作
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
procedure TForm1.Button1Click(Sender: TObject);
var
? reg: TRegistry;
begin
? reg := TRegistry.Create;
? reg.RootKey := HKEY_CLASSES_ROOT;
? {在注冊(cè)表中添加我們虛擬的 .tst 格式, 并指定默認(rèn)項(xiàng)的值是 TestFile}
? reg.OpenKey('.tst', True);
? reg.WriteString('', 'TestFile');
? reg.CloseKey;
? {文件打開(kāi)關(guān)聯(lián)}
? reg.OpenKey('TestFile\shell\open\command', True);
? reg.WriteString('', ParamStr(0) + ' %1');
? reg.CloseKey;
? {文件圖標(biāo)關(guān)聯(lián)}
? reg.OpenKey('TestFile\DefaultIcon', True);
? reg.WriteString('', ParamStr(0) + ',0');
? reg.CloseKey;
? reg.Free;
? {刷新圖標(biāo)顯示}
? SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil);
end;
{清除上面的設(shè)置}
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;
也可以通過(guò)手動(dòng)設(shè)置文件關(guān)聯(lián),方法是:打開(kāi)一個(gè)文件夾--工具--文件夾選項(xiàng)--“文件類型”選項(xiàng)卡---單擊下面的“高級(jí)”。
用 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 打開(kāi)(&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
var
? reg: TRegistry;
begin
? reg := TRegistry.Create;
? reg.RootKey := HKEY_CLASSES_ROOT;
? {在注冊(cè)表中添加我們虛擬的 .tst 格式, 并指定默認(rèn)項(xiàng)的值是 TestFile}
? reg.OpenKey('.tst', True);
? reg.WriteString('', 'TestFile');
? reg.CloseKey;
? {文件打開(kāi)關(guān)聯(lián)}
? reg.OpenKey('TestFile\shell\open\command', True);
? reg.WriteString('', ParamStr(0) + ' %1');
? reg.CloseKey;
? {文件圖標(biāo)關(guān)聯(lián)}
? reg.OpenKey('TestFile\DefaultIcon', True);
? reg.WriteString('', ParamStr(0) + ',0');
? reg.CloseKey;
? reg.Free;
? {刷新圖標(biāo)顯示}
? SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil);
end;
{清除上面的設(shè)置}
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;
也可以通過(guò)手動(dòng)設(shè)置文件關(guān)聯(lián),方法是:打開(kāi)一個(gè)文件夾--工具--文件夾選項(xiàng)--“文件類型”選項(xiàng)卡---單擊下面的“高級(jí)”。
用 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 打開(kāi)(&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
轉(zhuǎn)載于:https://www.cnblogs.com/smallmuda/archive/2009/08/13/1545220.html
總結(jié)
以上是生活随笔為你收集整理的delphi和INNO SETUP 文件关联操作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SAP BDC 技术的分类(转)
- 下一篇: 数据库基本----SQL语句大全