Wie kann ich meine Anwendung für eine Dateiendung registrieren?


Beispielaufruf:

RegistriereAnwendung('.edt','Mein Editor','.xxd\shell\open\command','c:\utils\edit.exe %1');

function RegistriereAnwendung(extension, typename, commandKey, comman : PChar) : boolean;
var key: HKey;
begin
  result := false;
  if RegCreateKey( HKEY_CLASSES_ROOT, extension, key )=ERROR_SUCCESS then begin
    if RegSetValue( key, nil, REG_SZ, typename, 0 )=ERROR_SUCCESS then begin
      RegCloseKey( key );
      if RegCreateKey( HKEY_CLASSES_ROOT, commandKey, key )=ERROR_SUCCESS then begin
        if RegSetValue( key, nil, REG_SZ, command, 0 )=ERROR_SUCCESS then begin
          RegCloseKey( key );
          result := true;    // hat geklappt
        end else begin
          RegCloseKey( key );
          RegDeleteKey( HKEY_CLASSES_ROOT, extension );
        end;
      end else begin
        RegDeleteKey( HKEY_CLASSES_ROOT, extension );
      end;
    end else begin
      RegCloseKey( key );
      RegDeleteKey( HKEY_CLASSES_ROOT, extension );
    end;
  end;
end;
Delphi 1 Delphi 2 Delphi 3 Delphi 4
nicht getestet Version nicht betroffen getestet

siehe auch:


Delphi FAQ