我以前写的一个片段。 function AssocExeFile(Test,Op:Boolean; DispString:String):Boolean; //test=true表示测试返回是否已经关联。 //Op表示是否关联(实际操作) //DispString表示显示出来的字符。 //这个例子是关联.exe文件的。 var MyReg:TRegistry; ExeKey:String; begin Result:=False; MyReg:=TRegistry.Create; with MyReg do begin try RootKey:=HKEY_CLASSES_ROOT; ExeKey:='\exefile\Shell\'+DispString; if Test then begin Result:=KeyExists(ExeKey); end else if Op then begin{Add} OpenKey(ExeKey+'\Command',True); WriteString(',Application.ExeName+' "%1"'); end else begin{Delete} OpenKey(ExeKey,False); DeleteKey(ExeKey); end; finally Free; end; end; end;
----------------------------------------------