Die Community zu .NET und Classic VB.
Menü

FAQ 0011: Eine andere Anwendung starten

 von 

Frage 

Ich möchte aus meiner Anwendung heraus eine andere Anwendung starten. Wie geht das?

Ich möchte eine andere Anwendung aus meiner Anwendung heraus starten, meine Anwendung soll aber warten, bis die andere Anwendung geschlossen wird. Wie geht das?

Ich möchte ein Dokument mit der zugehörigen Anwendung öffnen. Wie geht das?

Bordmittel  

Man kann eine andere Anwendung mit dem Befehl Shell() starten.

'   Möglichkeit 1:
Call Shell("notepad.exe", vbNormalFocus)

'   Möglichkeit 2:
Call Shell(Environ$("comspec") & " /c start notepad")

Listing 1: Anwendung mit Shell starten

Notepad läuft dann parallel zur eigenen Anwendung, d.h. sowohl in der eigenen Anwendung als auch in Notepad sind Eingaben möglich.

Anzumerken ist, daß die Umgebungsvariable COMSPEC nur dann verwendet werden muß, wenn der aufzurufende Befehl im Kommandozeileninterpreter eingebaut ist, der Befehl also nicht als eigenständige Datei vorliegt (ergänzt von Philipp Stephani).

modal starten  

Manchmal ist es erforderlich, daß die eigene Anwendung wartet, bis die gestartete Anwendung beendet wird.
Wie dies funktioniert, zeigt Warten auf das Beenden einer anderen Anwendung [Tipp 0148].

Dokument öffnen  

Kennt man die Anwendung, mit der eine Datei geöffnet werden soll, nicht, kann man Windows mit der Aufgabe betrauen, diese Anwendung zu starten und das Dokument öffnen zu lassen.
Die Funktion ShellExecute der Win32-API übernimmt genau diese Aufgabe. Wie es funktioniert, zeigt der Default-Browser mit vorgegebener Seite starten [Tipp 0162].

Ihre Meinung  

Falls Sie Fragen zu dieser FAQ haben, Ihre Erfahrung mit anderen Nutzern austauschen möchten oder auf eine Ergänzung hinweisen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.