Shell in VB

Hola,

ich schreibe gerade an einem Programm, bei welchem ich über die Shell-Funktion andere Programme aufrufe;

Dies geschieht folgendermaßen:

Unter Win9x starte ich Programme mit
Shell "Start c:\windows\explorer.exe", vbHide

und unter Win2k mit
Shell "c:\progra~1\vb98\vb6.exe", vbHide


Wenn ich unter Win9x ein Fenster mit dem Inhalt von dem jeweilig angegebenen Laufwerk mit

Shell "Start c:\", vbHide

ausgeben will, funktioniert das soweit auch. Allerdings habe ich ein riesen Problem damit, eben dies unter Win2k zu realisieren. Wenn ich in der Eignabeaufforderung

start c:\

eingebe, wird ein Fenster mit dem Inhalt von c:\ korrekt aufgerufen; wenn ich das aber über VB realiesieren möchte, passiert gar nichts.

Ich habe mir jetzt gedacht, zuerst die Eingabeaufforderung mit

Shell "cmd.exe"

zu öffnen, aber wie kann ich dort die Argumente für den Befehl start c:\ übergeben ?!?

Weiß da jemand vielleicht weiter ?

Gruß Evil
 
mh, ja das ist ne gute Idee ... aber es muß ja auch irgendwie so in VB funktionieren ...

Falls ich hierfür wirklich keine Lösung finden sollte, werde ich das mit der Batch-Datei auf jedenfall machen (wieso bin ich da eigentlich noch nicht selbst drauf gekommen =)
 
Probier mal folgendes:

shell("command.com /c cls"), vbhide

Wobei die Angabe /c dafür da sein sollte den Befehl dahinter auszuführen. Garantiere ich aber nicht. Ach ja, und statt cls was vernünftiges. ;-)
 
Ich dank Dir Indi, so scheints zu funktionieren. Ich kanns zwar erst morgen unter 2k testen, aber unter XP funkzt das wie folgt super:

Shell "cmd.exe /c start c:\"
 
Wie man über die Shell-Funktion direkt Programme aufruft, wissen wir ja jetzt =)

Also z.B.:

Shell "cmd.exe /c start c:\programme\programm.exe"


Es müßte doch irgendwie möglich sein, statt der Pfadangabe eine Variable oder Konstante anzugeben.

z.B. so:

Const Variable = "c:\programme\programm.exe"

Shell "cmd.exe /c start Variable" (ist fehlerhaft)


Hat jemand ne Idee ?


Gruß Evil
 
HI TheEvilOne!

Wolltest du nicht ursprünglich Fenster öffnen?

Das machst du so:

Shell "C:\WINNT\explorer.exe /N, /E, c:\programme", vbNormalFocus

/N: Neue Instanz des Explorers wird geöffnet

/E: definiert die Explorer Ansicht

+ Startordner (Fenster)

Wenn du es nicht brauchst.......TJAAAA :)
 
Zurück
Oben