![]() |
Eigene Dateiendungen registrieren
Hallo
ich hab nach folgendem Thread ![]() mein programm in der registry registriert und will nun beim klick auf eine Datei mit der endung .ctf, dass mein programm sich öffnet und das ihm der Pfad der Datei übergeben wird. soweit funzt das auch alles, nur das mir der Pfad nicht richtig übergeben wird. So wird aus C:\Dokumente und Einstellungen\Kaemmi\Desktop\meinedatei.ctf plötzlich C:\Dokumente~1\Kaemmi\Desktop\meined~1.ctf was meinem Programm natürlich nicht schmeckt, und dann folglich das laden verweigert. wobei moch diese ...Dokumente~1... stark an WIN 3.1 erinnert mir nur 8 Zeichen pro Dateiname - ich dachte das gibts in XP nicht mehr :wiejetzt: Was hab ich falsch gemacht :? Hier noch mal der registry eintrag zum öffnen: Pfad: HKEY_LOCAL_MACHINE/meintool/shell/open/command Schlüssel: (Standart) - Wert:C:\Dokumente und Einstellungen\Kaemmi\Desktop\project1.exe %1 Das müsste richtig sein, den mit %1 wird ja der Pfad übergeben. :?: :?: und mit
Delphi-Quellcode:
lese ich den Pfad aus.
if paramcount > 0 then
begin Memo1.Lines.LoadFromFile(paramstr(1)); end; Helft mir bitte - wenn mir noch zu helfen ist :D Kaemmi |
Re: Eigene Dateiendungen registrieren
Das mit dem 8.3-Format sollte nichts ausmachen, du solltest trotz diesem Format in der Lage sein, die Datei zu identfizieren.
Aber ändere mal den Standardwert in dem Registry-Schlüssel von C:\Dokumente und Einstellungen\Kaemmi\Desktop\project1.exe %1 zu "C:\Dokumente und Einstellungen\Kaemmi\Desktop\project1.exe" "%1" So können auch Dateien mit Leerzeichen geladen werden. |
Re: Eigene Dateiendungen registrieren
wenn du mir sagen könntest, wie ich die datei trozdem laden könnte wäre ich dir sehr dankbar. :mrgreen:
den sache mit dem reg-schlüssel hab ich gleich umgesetzt. :coder: |
Re: Eigene Dateiendungen registrieren
Probier mal den Code:
Delphi-Quellcode:
uses ComObj;
const Extension = '.ella'; Schluessel = 'Ellabetsch'; // Luckie? Beschreibung = 'Irgendwas'; var Anwendung : string; procedure TForm1.RegisterButtonClick(Sender: TObject); begin Anwendung := '"' + paramstr(0) + '" "%1"'; try CreateRegKey(Extension,'',Schluessel); CreateRegKey(Schluessel,'',Beschreibung); CreateRegKey(Schluessel + '\shell\open\command','',Anwendung); except on EOleRegistrationError do ShowMessage('Mist! Hat nicht geklappt'); end; end; procedure TForm1.UnregisterButtonClick(Sender: TObject); begin try DeleteRegKey(Extension); DeleteRegKey(Schluessel); except end; end; |
Re: Eigene Dateiendungen registrieren
:dancer: JIPI :dancer:
es funzt. danke luckie. der Dateiname wird jetzt komplett übergeben! Ich dachte schon ich kriegs nie hin. dann kann ich ja jetzt weiter machen :coder: gibts vielleicht noch ne möglichkeit eine icon über diese funktion zu registrieren? CU, Kaemmi :hello: |
Re: Eigene Dateiendungen registrieren
Zitat:
Gruß Hagen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:56 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-2025 by Thomas Breitkreuz