Stadardprogramme anzeigen und Auswahl merken

20/01/2008 - 15:08 von Detlef Jäger | Report spam
Hallo NG-Gemeinde,

irgendwie habe ich keinen richtigen Ansatz für mein Vorhaben.
Ich möchte dem Anwender ermöglichen, Videodateien auf Wunsch (als
Alternative zum Standardprogramm) mit einem zuvor gewàhlten Programm zu
öffnen.

Prinzipiell kann ich ja über ShellExecute zuvor eine Programmauswahl
ermöglich:

ShellExecute(DeskWin, vbNullString, "RUNDLL32.EXE",
"shell32.dll,OpenAs_RunDLL " & _
"", sDirectory, vbNormalFocus)

Jedoch möchte ich nicht jedes Mal erneut die Auswahl abfragen, sondern
vielmehr in den Einstellungen dem Anwender die einmalige Auswahl
ermöglichen.
Ergo müsste ich bei der ShellExecute-Variante erfahren, was der Anwender
gewàhlt hat. Das wird aber kaum möglich sein.

Also suche ich eine Alternative, die mir die Programmauswahl des Anwenders
mitteilt.
Dazu müsste ich aber die Funktionalitàt der ShellExecute-Variante nachbauen
und alle installierten Programme ermitteln.
Kenne ich dann das Programm, kann ich die Videodateien per ShellExecute
immer ohne Dialog mit dem gewünschten Programm öffnen.

Vielleicht stand jemand vor einem àhnlichen Problem und hat daher einen Tipp
für mich.

Vielen Dank im Voraus...

Detlef Jàger
 

Lesen sie die antworten

#1 Herfried K. Wagner [MVP]
20/01/2008 - 15:21 | Warnen spam
"Detlef Jàger" schrieb:
irgendwie habe ich keinen richtigen Ansatz für mein Vorhaben.
Ich möchte dem Anwender ermöglichen, Videodateien auf Wunsch (als
Alternative zum Standardprogramm) mit einem zuvor gewàhlten Programm zu
öffnen.

Prinzipiell kann ich ja über ShellExecute zuvor eine Programmauswahl
ermöglich:

ShellExecute(DeskWin, vbNullString, "RUNDLL32.EXE",
"shell32.dll,OpenAs_RunDLL " & _
"", sDirectory, vbNormalFocus)

Jedoch möchte ich nicht jedes Mal erneut die Auswahl abfragen, sondern
vielmehr in den Einstellungen dem Anwender die einmalige Auswahl
ermöglichen.



Ungetestet: 'ShellExecuteEx' mit 'PROCESSTARTINFO' benutzen.
'PROCESSTARTINFO' enthàlt ein Mitglied 'hwnd' (siehe Dokumentation) und ist
in der Lage, Fehlerdialoge, darunter auch den "Öffnen mit..."-Dialog,
anzuzeigen. Wenn der Benutzer im Dialog das Hàkchen markiert, sollte der
Dialog nicht ein zweites Mal erscheinen.

M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>

Ähnliche fragen