uses Registry, ShlObj ; procedure EnregistrerTypeDeFichier ( const Extension : string ; const TypeDeFichier : string ; const Description : string ; const NomExecutable : string ; const IndexIcone : Integer ) ; var Registre : TRegistry; begin Registre := TRegistry.Create; with Registre do try RootKey := HKEY_CLASSES_ROOT ; Access := KEY_WRITE ; OpenKey( Extension, True) ; WriteString('', TypeDeFichier); CloseKey; OpenKey(TypeDeFichier, True); WriteString('', Description); CloseKey; OpenKey(TypeDeFichier + '\DefaultIcon', True); WriteString('' + '\DefaultIcon', AnsiQuotedStr(NomExecutable, '"') + ',' + IntToStr(IndexIcone)); CloseKey; OpenKey(TypeDeFichier + '\Shell\Open', True); WriteString('', '&Open'); CloseKey; OpenKey(TypeDeFichier + '\Shell\Open\Command', True); WriteString('', AnsiQuotedStr(NomExecutable, '"') + AnsiQuotedStr('%1', '"') ); CloseKey; SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil); finally Registre.Free; end; end; procedure TForm1.Button1Click(Sender: TObject); begin EnregistrerTypeDeFichier ( '.sg' , 'Script SG' , 'Script SG : Blah blah description' , Application.ExeName , 1 ) ; end;
if openKey() then {action} else {erreur registre}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question