Wie kann ich den Dateidialog "Öffnen mit" anzeigen?

12

Gibt es eine einfache Möglichkeit, den Dialog "Öffnen mit" zu öffnen?

    
losieko 18.01.2011, 16:30
quelle

4 Antworten

18

Einige Reverse-Engineering mit ProcExp ergab eine rundll32.exe-Befehlszeile, die funktionierte. Hier ist ein Beispielprogramm, das es verwendet:

%Vor%

Getestet auf Win7, kann ich nicht erraten, wie gut das bei anderen Versionen von Windows funktioniert.

    
Hans Passant 18.01.2011 17:37
quelle
9

Das sollte den Trick machen ...

%Vor%

Obwohl Oded einen großen Vorteil hat - wenn Sie nicht genau wissen, wie / wo Sie solche Funktionen verwenden möchten, ist dies möglicherweise nicht die Lösung für Ihre Situation.

Aktuelle Kommentare zu dieser Antwort gehen zu zeigen, dass ich an erster Stelle nicht sehr detailliert war. Ein Problem wird auftreten, wenn Sie openas eine Datei versuchen, die bereits das open Verb für diesen Dateityp definiert hat. Wenn Sie versuchen, open für eine Datei zu definieren, für die dieses Verb nicht definiert ist, treten Probleme auf. Das Problem wäre:

  

Win32Exception: der angegebenen Datei für diese Operation ist keine Anwendung zugeordnet

Abseits von meinem Kopf habe ich Thomas vorgeschlagen, dass Sie, um diese Art von Code in einer Produktionsanwendung zu verwenden, gründlich sein und vielleicht die Registrierung überprüfen oder anderweitig herausfinden müssen, ob eine Datei dies kann und sollte mit jedem gegebenen Verb geöffnet werden. Es könnte einfacher sein, wenn Sie ProcessStartInfo.Verbs berücksichtigen. : Wenn Sie fileName festgelegt haben, erhalten Sie eine Sammlung möglicher Verben, die dem Dateityp zugeordnet sind. Dies sollte es einfacher machen zu bestimmen, was mit welcher Datei zu tun ist.

Um es kurz zu machen, wie ich Thomas bereits erwähnt habe, müssen Sie vorsichtig sein und Ihrer Anwendung eine gewisse Komplexität / Intelligenz hinzufügen - diese Antwort ist sicherlich keine Catch-all-Lösung.

    
Grant Thomas 18.01.2011 16:36
quelle
2

Verwenden Sie

%Vor%

Die Datei wird mit dem Standardprogramm geöffnet, wenn kein Standardprogramm definiert ist, wird das Dialogfeld Öffnen mit angezeigt.

Sie können die Funktion verwenden:

%Vor%

Sie haben ein Beispiel, um diese Funktion zu verwenden: dieser Link

    
Borja 18.01.2011 16:38
quelle
-3

Es gibt Tonnen von Shell-Beispielen im All-in-One-Code-Framework . Vielleicht können Sie sie ansehen, um zu sehen, ob ein Beispiel Funktionen hat, die Sie haben möchten.

    
Uwe Keim 18.01.2011 16:36
quelle

Tags und Links