# Exe-Datei via DOS ausführen (Problem)



## d4kine (23. Oktober 2004)

So, erstmal grüße an alle Coder 
 Ich habe zwar nicht die Beste Coder-Erfahrung, aber wie man z.B. den Taschenrechner von Windows per Button ausführt, weiß ich...
*(Shell "cmd /c start C:\Windows\System32\calc.exe", vbNormalFocus)
*Soviel dazu...

  Aber wenn ich jetzt eine Datei ausführen möchte wie z.B.
*D:\Eigene Dateien\d4kine.exe *zeigt mir das MS-DOS fenster einen fehler, wegen der leerzeile in *Eigene Dateien *an.
  was muss ich zwischen Eigene Dateien schreiben, damit das MS-DOS Fenster das als leerzeichen anerkennt?


----------



## Merlin_78 (23. Oktober 2004)

Zum Öffnen von Dateien würde ich die API "ShellExecute" verwenden. Hier kannst du auch den Dateipfad mit Leerzeichen angeben.

Beispiel:

Option Explicit
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal Operation As String, ByVal Filename As String, Optional ByVal Parameters As String, Optional ByVal Directory As String, Optional ByVal WindowStyle As Long = vbMinimizedFocus) As Long

Private Sub Command1_Click()
    ShellExecute 0, "Open", "C:\Eigene Dateien\calc.exe"
End Sub


----------



## mschuetzda (23. Oktober 2004)

Wenn Du das Programm mit DOS öffnen willst, brauchst Du den Befehl nur in Anführungszeichen zu setzen.  "D:\Eigene Dateien\d4kine.exe" 
Dann wird auch das Leerzeichen akzeptiert.


----------



## Shakie (23. Oktober 2004)

Mach es doch einfach ohne die DOS-Box:

```
Shell "D:\Eigene Dateien\d4kine.exe" , vbNormalFocus
```


----------



## d4kine (28. Oktober 2004)

*Thx*

Joa, korrekt! Funktioniert Perfekt.
 d4nke Leute.


----------

