Öffnen mit...



  • Hallo,

    🕶 mein Programm liest eine bestimmte Sorte von Dateien (*.WPG). Gleich mit dem Projekt habe ich eine entsprechende REG-Datei erzeugen lassen, die diesen Dateitypen registriert. Doppelklicke ich also im Explorer auf eine WPG-Datei, öffnet sich automatisch mein Programm.

    ➡ Nun die Frage:
    Wie schaffe ich es, dass das Programm gleichzeitig die angeklickte WPG-Datei liest - wie kann das mein Programm erfahren? 😕

    🙂 Bin für jede Antwort dankbar!



  • hola compadre,
    des wurde schon mal gefragt, damals wrude geantwortet:

    erstell eine datei mit endung *.reg

    REGEDIT
    HKEY_CLASSES_ROOT\.dvd = DVD.Document
    HKEY_CLASSES_ROOT\DVD.Document\shell\open\command = DVD.EXE %1
    HKEY_CLASSES_ROOT\DVD.Document\shell\open\ddeexec = [open("%1")]
    HKEY_CLASSES_ROOT\DVD.Document\shell\open\ddeexec\application = DVD

    HKEY_CLASSES_ROOT\DVD.Document = DVD Document

    änder den Kram um wie du brauchst. File mus glaube ich im verzeichnis ausgeführt werden wo exe drin.

    beim laden der app einfügen:

    EnableShellOpen(); 
        RegisterShellFileTypes(TRUE);
    

    hoffe das hast du gemeint 🙂



  • nun ja,
    beim erneuten durchlesen deiner Fragestellung, bin ich zu dem schluss gekommen, das mein voriger Beitrag völlig sinnlos war, da du das eh schon hast und ein völlig anderes problem hast :)..

    so, vll. ein anderes mal 🙂 lol



  • Auch wenn es mir nichts nützt:

    Trotzdem danke für deinen Versuch.

    😞 Hat noch ein anderer was zu bieten?



  • Der erste Beitrag vorhin war garnicht so schlecht. Man kann erkennen, dass hier

    HKEY_CLASSES_ROOT\DVD.Document\shell\open\command = DVD.EXE %1

    ganz hinten der Dateiname als Parameter an dein Programm übergeben wird.
    Dein Programm sollte dadurch aufgerufen werden und du must nur noch beim Starten des Programmes prüfen, ob ein Parameter vorhanden ist und ihn gegebenenfalls laden.



  • Hallo derDoc, bist du noch da???

    😕 Ich habe eben mal eine kurze dumme Rückfrage an dich:

    Wie lese ich diesen Parameter den aus? Könntest du mir diesen Ausdruck geben? 🙄



  • Wenn du das .NET Framework hast, kannst du

    Environment::GetCommandLineArgs();
    

    benutzen.
    Sonst gibt es unter Ansi-C und C++

    char *argv[], int argc
    

    und unter C#

    string[] args
    

Anmelden zum Antworten