Auswahl von Programmen zur Datei extension



  • Tag zusammen,

    folgendes Problem.
    Programm zum Offenen von pdf files in HKEY_CLASSES_ROOT\.pdf\
    gesucht. Ein anderes Programm namens QuickScan hat dort
    den Eintrag vom Acrobat reader Ueberschreiben.

    Im Total Commander und Windows explorer geht beim Rechtsclick auf
    ein File mit der endung .pdf eine Fenster auf mit dem man das
    Programm mittels "Öffen mit >" auswaehlen kann.

    Gibt es dafuer einen Functions aufruf fuer "C" ???

    Ich benutze die GTK-2 Libs unter windows.

    AZ.


  • Mod

    Und was ist nun Dein Problem?
    Du kannst doch die mit der Datei-Endung verbundenen Programme selbst im Explorer verwalten.



  • Wenn ich ihn richtig verstanden habe (und da bin ich mir nicht sicher), dann will er ein Tool schreiben, dass ihm den Eintrag schnell wieder korrigieren kann, z.B. falls sich der Vorfall häuft. Trotzdem bin ich auch der Meinung, dass das in 10 Sekunden mit dem Explorer erledigt ist...



  • Hallo,

    diesmal etwas genauer.
    Ich bin Programmierer und ich moechte eine C Function
    aufrufen die mir eine Liste der verfuegbaren Programme
    fuer diese Datei extension zurueckliefert
    und eine C Function die mir die Dialog Box "Oeffnen mit" darstellt so
    das ich in meiner Software das Programm benutzen das in dieser Box
    ausgewaehlt wurde unabhaengig von der einstellung im Explorer.

    Die Dialog Box "Oeffen mit" ereiche ich im Explorer und Total Commander
    durch Rechtsclick auf ein File. In der nun auftauchenden Dialog box
    kann ich dann "Oeffen mit >" anklicken und erhalte ein Liste von
    Programmen die geeignet sind dieses File zu oeffnen und am ende
    ist durch einen Seperator der Menu Punkt "Programm auswaehlen ...".

    Ich weiss wie ich in der Registry diese Informationen bekomme.
    Nur ist es ein grosser aufwand das zu programmieren. Und ich hoffe das es
    einen Functions aufruf in "C" gibt die ich nutzen kann.
    Start datei.ext geht schliesslich auch von der Kommandozeile.

    AZ.



  • Plan9 schrieb:

    Ich bin Programmierer....

    Ne echt du bist Programmierer, ich wollt schon immer mal einen echten Programmierer kennenlernen. Erzähl doch mal was du schon so alles programmiert hast?



  • Plan9 schrieb:

    Ich weiss wie ich in der Registry diese Informationen bekomme.
    Nur ist es ein grosser aufwand das zu programmieren. Und ich hoffe das es
    einen Functions aufruf in "C" gibt die ich nutzen kann.

    C hat von Eigenheiten des Betriebssystems keine Ahnung. In der WinAPI gibt's RegOpenKeyEx( ) und RegQueryValueEx( ) - viel Spaß.

    Plan9 schrieb:

    Start datei.ext geht schliesslich auch von der Kommandozeile.

    ... und wie cmd.exe dieses Wunder verbringt sagt Dir Deine Glaskugel, oder?

    cheers, Swordfish


  • Mod

    Die EXE aufzurufen, die direkt verknüpft ist (Doppelklick) erfolgt simpel und einfach über ShellExecute



  • @Martin: Wenn ich ihn richtig verstanden habe, will er die komplette Liste.

    cheers, Swordfish


  • Mod

    Ich wüsste keine Funktion die dies auflistet.
    Wie die Einträge in der Registry arbeiten setht hier:
    http://msdn.microsoft.com/en-us/library/bb166549(VS.80).aspx

    Um die primäre Verbindung zu einer EXE heraus zu bekommen kann man AssocQueryString verwenden.

    Die MSDN ist voll Infos für diese Shell Funktionen um die Extensions.
    http://msdn.microsoft.com/en-us/library/cc144104(VS.85).aspx
    http://msdn.microsoft.com/en-us/library/cc144148(VS.85).aspx



  • Martin Richter schrieb:

    Ich wüsste keine Funktion die dies auflistet.

    ich weiß, deswegen ja:

    Swordfish schrieb:

    [...]In der WinAPI gibt's RegOpenKeyEx( ) und RegQueryValueEx( ) - viel Spaß.

    Martin Richter schrieb:

    Um die primäre Verbindung zu einer EXE heraus zu bekommen kann man AssocQueryString verwenden.

    n1 thx

    cheers, Swordfish


Log in to reply