![]() |
Dateiendung registrieren
Ich habe folgendes Problem:
Ich möchte "meine" Datei (aj-Datei) mit folgendem Source auf mein Programm registrieren. Das geht ja auch... Nur frage ich mich jetzt, wie die anderen Dateien (z.B. .MP3) registriert sind?! Denn wenn ich in der Registry unter der Dateiendung MP3 suche finde ich den Ordner .MP3\Shell\Open\Command... nicht. Ist das von Betriebssystem zu Betriebssystem anders oder gibt es noch ein anderen "Pfad" in der Registry, wo die Dateinamen registriert sind? Denn wenn ich mein TuneUpUtilities starte (den RegistryCleaner) dann meckert der auch, dass der Pfad .aj\Shell\Open\Command... nicht korrekt ist und löscht ihn wieder. Also wie gesagt, die Registrierung läuft zwar aber ich würde gerne wissen, wo man die Dateien genauso registriert wie es Windows auch macht. Ich hoffe ihr wisst was ich meine... Bis denn dann MFG Alex
Delphi-Quellcode:
Aufruf:
function TMain_Window.RegistriereAnwendung(extension, typename, commandKey, command : 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 RegDeleteKey( HKEY_CLASSES_ROOT, extension ); end else begin RegCloseKey( key ); RegDeleteKey( HKEY_CLASSES_ROOT, extension ); end; end; end;
Delphi-Quellcode:
FPfad := ExtractFileDir(Application.ExeName);
tmpStr := FPfad + '\Player.exe %1'; RegistriereAnwendung('.aj','Player','.aj\shell\open\command',PChar(tmpStr)); |
Re: Dateiendung registrieren
Im Schlüssel .(Endung) findest du einen Verweis auf den eignetlichen Dateitypen. (siehe den Standard-Wert). Lesen kannst du den Standardwert glaube mit ReadString('');
Wenn du also bei .mp3 schaust findest du etwas wie mp3file als Standard-Wert. Wenn du jetzt unter HKEY_CLASSES_ROOT/mp3file schaust findest du die entsprechende Informationen. Genauso musst du es machen, wenn du einen neuen Dateitypen registrierst. 1. Schlüssel anlegen mit .(Endung) 2. Als Standardwert zum Beispiel (Endung)file setzen 3. Schlüssel anlegen mit dem unter 2. angegeben Namen 4. Schlüssel mit den entsprechenden Daten füllen. Wenn das von Windows-Version zu Windows-Version unterschiedlich wäre, dann wäre es ja das reinste Chaos. :spin2: |
Re: Dateiendung registrieren
warum nicht die suchfunktion verwenden? Es gibt da einige Beiträge und Diskussionen, insbesondere von Matthias Simmack, die du alle mit der suche findest.
Mfg Frank |
Re: Dateiendung registrieren
die suchfunktion habe ich genutzt und ich bin als erstes auch auf dieses beispiel gestoßen daher habe ich den neuen thread geöffnet.
Aber danke @jim_raynor das hört sich gut an und werde es auch mal probieren. danke nochmals... MFG Alex |
Re: Dateiendung registrieren
Notfalls mal hier
![]() |
Re: Dateiendung registrieren
danke himitsu
werde mich dann gleich mal damit beschäftigen MFG Alex |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz