Pfad bei Programmstart übergeben



  • Hallo

    Meine Frage ist, wie kann ich meiner Applikation beim starten den Pfad derjenigen Datei übergeben, welche durch Doppelklick aktiviet wurde. In Visual Basic.NET (2.0) löst man das über Command(), aber wie geht das in c++?
    Habe schon in den FAQ herumgeschaut, bin aber nicht fündig geworden.

    Mfg Keysie



  • das ist nicht sache der programmiersprache, sondern sache des betriebssystems. du selbst kannst dann die argumente abfragen und entsprechend reagieren.
    falls du windows benutzt: explorer -> extras -> ordneroptionen -> dateitypen
    dort kannst du das verhalten bei doppelklick verändern.



  • ja, soweit komm' ich schon, aber wenn meine Anwendung gestartet ist, möchte ich die angeklickte Datei auch einlesen, und dazu brauche ich den Pfad dieser Datei.



  • Ich habe das in VS2003 und C++ wie folgt gelöst:

    Path::GetDirectoryName(_pgmptr)
    

    Da wird der Pfad des aktuellen Verzeichnisses ausgegeben. Dieses ändert sich sobald du eine Datei doppelt anklickst und somit ist dann das aktuelle Verzeichnis gleich dem, worin sich deine Datei befindet.
    MSDN sagt aber, dass "_pgmptr" eigentlich den vollen Pfad eines gerade gestarteten Programms zurückgibt. Müsstest es also mal probieren.

    Vielleicht geht auch das:

    Directory::GetCurrentDirectory()
    

    Gruß
    physici


Anmelden zum Antworten