Veröffentlicht 6. Juli 200520 j Heute mal etwas kompliziertes (aus meiner Sicht): Wenn man im Windows Explorer auf eine *.doc-Datei klickt, öffnet sich Word mit der angeklickten Datei. Das gleiche möchte ich mit meinem Programm erreichen. Man klickt auf eine bestimmte Datei und diese wird in meinem Programm angezeigt. 1. Wie bekomme ich Windows dazu, mein Programm dieser Datei zuzuordnen? 2. Wie bekommt mein Programm beim Starten mit, ob und welche Datei geöffnet werden soll? MS VC++ .Net 2003, MFC, Dialog
6. Juli 200520 j 1. rechte Maustaste auf die Datei öffnen mit Programm aussuchen Haken bei: Immer mit diesem Programm öffnen! setzen absofort lustig draufklicken 2. Der Dateiname wird dir als erste Option mitgegeben. Also so als wenn du: Deinprogramm.exe zuöffnendedatei.Endung starten würdest. Wie du das in Deinem Programm dann annimst???
7. Juli 200520 j Autor In der MSDN steht dazu: This allows the user to open a data file created by your application... Mit meinem Programm werden jedoch keine Dateien erstellt. Mein Programm greift auf eine bestimmte Datei zu, die bereits exisitiert.
7. Juli 200520 j Na dann schau dir im MFC-Quellcode an, was CWinApp::RegisterShellFileTypes so macht. Vielleicht ruft die Methode eine ähnliche Funktion der WinAPI auf (mir ist zwar keine solche bekannt, aber das muss ja nichts heißen), oder die Methode hantiert selbst in der Registry. Was die MFC kann, kannst du auch
7. Juli 200520 j Autor Jetzt habe ich noch eine Frage dazu: Bezieht sich das ganze auch auf komplette Dateinamen oder nur auf die Erweiterung? Ersteres ist erforderlich.
7. Juli 200520 j Das bezieht sich nur auf die Erweiterung. Es ist ja in Windows nicht einmal möglich, Dateien ohne Erweiterung dauerhaft mit einer Anwendung zu verknüpfen.
7. Juli 200520 j Es gibt aber die Möglichkeit irgendie einen Ordner mit einer Anwendung zu verknüpfen. Dazu musste man eine guid an den namen anfügen die nicht im explorer angezeigt wird und unter dieser guid einen eintrag in der registry vornehmen. wenn dann jemand diesen ordner öfnnet wird die entsprechende anwendung ausgeführt. Ob das auch mit Dateien funktioniert und wie das genau funktioniert weiß ich aber nicht
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.