📄 optionform_.pas
字号:
unit OptionForm_;
interface
uses
SysUtils, Windows, Messages, Classes, Graphics, Controls,
StdCtrls, ExtCtrls, Forms, Registry, ShlObj, Dialogs;
type
TOptionForm = class(TForm)
Button1: TButton;
btnReg: TButton;
btnDeReg: TButton;
StaticText1: TStaticText;
procedure btnRegClick(Sender: TObject);
procedure btnDeRegClick(Sender: TObject);
end;
var
OptionForm: TOptionForm;
// procedure RegisterFileType(ft,key,desc,icon,prg:string);
// procedure RegisterFileType(prefix: string; exepfad: string);
procedure AssociateFileType(ExtName,Desc,AppExeName:string);
procedure DissociateFileType(ExtName: String);//ExtName:将要删除文件关联的后缀,如 DOC
implementation
{$R *.DFM}
procedure AssociateFileType(ExtName,Desc,AppExeName:string);
var
Reg:TRegistry;
begin
Reg:=TRegistry.Create;
try
Reg.RootKey:=HKEY_CLASSES_ROOT;
Reg.OpenKey('.' + ExtName, True);
try
Reg.Writestring('', ExtName+'_auto_file');
finally
Reg.CloseKey;
end;
try
Reg.OpenKey(ExtName+'_auto_file',True);
Reg.WriteString('',Desc);
Reg.OpenKey('shell',True);
Reg.WriteString('','open');
Reg.OpenKey('open\command',True);
Reg.WriteString('',AppExeName+' "%1"');
finally
Reg.CloseKey;
end;
finally
Reg.Free;
end;
//发送一个刷新的消息给系统:
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil);
end;
procedure DissociateFileType(ExtName: String);//ExtName:将要删除文件关联的后缀,如 DOC
var
MyReg:TRegistry;
Key: String;
begin
MyReg:=TRegistry.Create;
MyReg.RootKey:=HKey_CLASSES_ROOT;
MyReg.OpenKey('.'+ExtName, False);
Key:=MyReg.ReadString('');
MyReg.CloseKey;
MyReg.DeleteKey('.'+ExtName);
MyReg.DeleteKey(Key);
MyReg.Free;
//发送一个刷新的消息给系统:
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil);
end;
procedure TOptionForm.btnRegClick(Sender: TObject);
begin
// RegisterFileType('.MHYS','MHYS','梅花易数',Application.ExeName+',1',Application.ExeName);
AssociateFileType('MHYS','梅花易数',Application.ExeName);
ShowMessage('关联已完成');
end;
procedure TOptionForm.btnDeRegClick(Sender: TObject);
begin
DissociateFileType('MHYS');
ShowMessage('关联已取消');
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -