"Dateityp immer mit diesem Programm öffnen"

MichiStroi

Erfahrenes Mitglied
Hallo,
So, tut mir leid, aber dieser Beitrag muss jetzt einfach sein...
Stundenlage Sucherei bis man endlich etwas vernünftiges findet. Dabei geht's ja so einfach
Folgender Code öffnet die Datei die mittels Doppelklick geöffnet wurde:
(Vorraussetzung: Man hat die Datei mittels Setup Assistenten im Client-System registriert, oder man macht es manuell weil man es sonst nicht zusammenbringt ;)

Code:
for(int i = 0; i < Environment.GetCommandLineArgs().Length; i++)
			{
				if(Environment.GetCommandLineArgs()[i].Substring(Environment.GetCommandLineArgs()[i].Length-3).ToLower() == "raf")
					OpenFile(Environment.GetCommandLineArgs()[i]);
			}

Der Code kommt einfach irgendwo hin am besten ins "Load", da kommts dann gleich nach den Steuererlementen.
So und wenn jetzt noch jemand Know How bezüglich Dateitypregistrierung (ohne VisualStudio Assistenten) hat, dann ist sie/er herzlichst dazu eingeladen diese hier preiszugeben

Beste Grüße
Michi
 
So und wenn jetzt noch jemand Know How bezüglich Dateitypregistrierung (ohne VisualStudio Assistenten) hat, dann ist sie/er herzlichst dazu eingeladen diese hier preiszugeben

Darum gehts wohl. Er will einen Dateityp mit seinem Programm verknüpfen.

Working with File Type Associations
...Whenever a certain file extension say, ".abd", has to be associated with a particular program, a key named ".abd" has to be created under the HKEY_CLASSES_ROOT root key in the Windows Registry....

Working with System Registry in C#

Damit sollts doch wohl gehen. ;)
 
So leid es mir tut aber ich werde aus den Beispielen nicht schlau.

Ich bin soweit gekommen die Registryschlüssel zu erstellen und per Doppelklick auf meinen Speicherstand (für ein Programm) öffnet sich auch brav mein Programm und reagiert auch richtig auf den Startparameter (-)"open".

Jetzt habe ich nur das Problem, dass ich nicht weiss ich ich den Pfad zur Datei die gerne geöffnet werden würde herraus finde.
Hat jemand eine Idee?

Impi
 
Hi,

Ich versteh dich nicht. Der Pfad zur Datei wird dir doch mit als Parameter übergeben, wenn du den Eintrag in der Registry richtig eingerichtet hast.
 
Ich meine damit die Datei welche geladen werden soll.

Zum Beispiel:

Ich hab die Datei Save.xy ( xy ist meine bereits registrierte Endung ). Wenn ich xy öffne wird meine Anwendung.exe mit dem Befehl "-open" gestartet.
Nun frage ich beim "Load" der Anwendung.exe ab ob Startparameter gegeben sind. Falls einer von ihnen "-open" ist soll die datei Save.xy mit der Prozedur loadFile(); ausgewertet werden.

Und genau dieser letzte Teil andem der Pfad zur Save.xy übergeben wird verstehe ich nicht. Wie finde ich herraus wo diese Save.xy-Datei liegt.

Impi
 
Zurück