"Öffnen mit ..."-Dateiendung festlegen
-
Hallo zusammen,
ich bins mal wieder.
Hat jemand von euch eine Ahnung, wie ich selbergeschriebene Programmdateien (zB. datei.qwe) beim Doppelclick automatisch mit meinem Programm öffnen lassen kann - wie das mit Word etc. auch geht.Steht so was in der Registry?
Gruß
Franzi[ Dieser Beitrag wurde am 04.10.2002 um 17:04 Uhr von Jansen editiert. ]
-
hi franziska,
also wenn dir es reicht es manuell zu tun:Geh in die <Ordneroptionen> von deinem Explorer (unter <Ansicht> ), geh auf <Dateitypen> und wähl in der Liste dein Dateiformat aus, falls nicht vorhanden -
erzeuge es mit Neuer Typ, Gib oben bei Bezeichnung den Namen an, der dieses Format bezeichnet (z.B. "Datei für meine Anwendung")
und gib die DateiErweiterung dazu an (z.B. *.file).Nun egal ob der typ existiert hat,
bleib in diesem Dialog und
geh auf <Neu...> bei <Vorgänge:> gib oben ein, wie du diesen Vorgang bezeichnest (z.B. "Öffnen") und gib den Pfad von deinem Programm unter <Anwendung für dieses Programm> an. Nun nur noch einmal OK angeklickt. Als letzten Schritt musst du dann in der Liste deinen Vorgang markieren und auf <Als Standart> klicken, dass war's.hope I could help !
body
-
Sorry,
Danke für Deine Antwort, aber manuell ist nicht so der Hit.
Benötige dies im Rahmen eines Projekt.
Trotzdem Danke.Hat sonst jemand eine Ahnung, wo so was stehen könnte?
Gruß
Franzi
-
Huhu Franziska, such mal im Forum. Gab vor kurzem wem, der das ebenfalls gefragt hat...
http://www.c-plusplus.net/ubb/ubb/Forum2/HTML/001048.html
-
@maverick:
ich glaube, sie meint:
Welche Registry Eintäge müssen eingetragen werden, damit ein Dateiformat standartmäßig mit ihrer Anwendung geöffnet wird ?
Nun, dies ist schon mal gefragt worden @franziska. Ich hab letzens versucht, diesen beitrag zu finden.
VERGEBLICH !Habe aber recherchiert:
Unter HKEY_CLASS_ROOT musst du erst einen Schlüssel, der den Namen deines Formates trägt (in deinem Fall "qwe") erzeugen! Dann musst in diesem Schlüssel der Zeichenfolge namens <Standard> den Wert zuweisen, unter welchem "kompakten" Schlüssel (auch unter HKEY_CLASS_ROOT in deiner Registry) du alle Angaben zu diesem Format angeben willst.
Hast du dort "MyFileExt" eingegeben, so musst du noch einen neuen Schlüssel wieder erzeugen - wieder dort wo du den anderen erzeugt hast und dieser muss dann in diesem Fall auch "MyFileExt" heissen .
In diesem Schlüssel selbst erzeugst du zwei neue - der eine heisst "DefaultIcon", der andere heisst "shell". Im DefaulIcon-Schlüssel gibst du <Standard> als Wert den Pfad von deinem Icon oder der Icon-Datei, die dein Format kennzeichen soll.
Im shell-Schlüssel erzeugst du nochmal einen namens "open", und in diesem wiederum einen namens "command". <Standard> im command-Schlüssel bekommt als Wert den Pfad deiner Anwendung UND BITTE JETZT AUFPASSEN:
direkt dahinter " %1" !!!!!!!!!!!
also wenn deine Anwendung den Pfad hat:C:\C++\MeineAnwendung.exe
dann musst du
C:\C++\MeineAnwendung.exe %1
bei <Standard> von shell als Wert eingeben !
Naja, das müsste mit den Funktionen von TRegistry funzen !
Nun gut, meine Finger tun schon weh vom tippen, muss surfen (mit der Maus *g*)!
Hoffe, ich konnte dir helfen !
body
-
Um den übergebenen Dateinamen dann im eigenen Programm auszuwerten benutzt man üblicherweise die Funtion ParamStr(). Ein Beispiel:
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { if (ParamStr(1) != "") Memo1->Lines->LoadFromFile(ParamStr(1)); }
Als ergänzende Lektüre seien auch folgende Snippets empfohlen:
http://www.bytesandmore.de/rad/cpp/snipp/sc06016.php
http://www.bytesandmore.de/rad/cpp/snipp/sc03026.php