SendKeys an VMware Player

Hallo liebe Experten,

vorweg: ich habe nicht wirklich Ahnung von VBScript, heute ist sozusagen mein erster Tag :smiley:

Ich habe mir vor kurzem das Programm Sage installiert, welches über den VMware Player auf einer virtuellen Maschine läuft und über den Browser bedient wird.
Damit der Programmstart etwas schneller geht, möchte ich mir ein kleines VBScipt erstellen, welches den VMware Player startet, dort in der Konsole einige Eingaben macht und dann Firefox mit der richtigen Url startet. Das hab ich soweit:

set wshshell=createobject("wscript.shell")
wshshell.run "C:\Programme\sage-vmware-3.4\sage\_vmx.vmx",1
WScript.Sleep 10000
WshShell.AppActivate "SAGE"
WshShell.SendKeys "^g"
WScript.Sleep 100
WshShell.SendKeys "notebook"
WScript.Sleep 100
WshShell.SendKeys "~"
WScript.Sleep 1000
WshShell.SendKeys "^%"
WScript.Sleep 100
wshshell.run """C:\Programme\Mozilla Firefox\firefox.exe"""&"http://192.168.42.128",1

mit Ctrl+G und Ctrl+Alt wird die Direkteingabe von Befehlen in die virt. Maschine aktiviert bzw. wieder verlassen. Leider rührt sich beim Player gar ncihts. Was mache ich falsch?

Hallo Q,

vorweg: ich habe nicht wirklich Ahnung von VBScript, heute ist
sozusagen mein erster Tag :smiley:

naja, so gesehen ist es mein dritter :smile:

das hier funktioniert bei WinXP als .vbs:

set wshshell=createobject(„wscript.shell“)
wshshell.run „notepad.exe“
WScript.Sleep 1000
wshshell.sendkeys „abcd“

verlängere also vielleicht mal die sleep-Zeiten.

aber SendKeys ist heikel, man weiß nie genau wohin es die „Eingaben“ schickt.
Sicherer wäre, sofern es ginge, Rainer bastelt dir was wo du das handle des VMplayers ermitteltst und dann per API in diese Fenster per sendmessage Eingaben schickst.

Gruß
Reinhard

Hallo Reinhard,

aber SendKeys ist heikel, man weiß nie genau wohin es die
„Eingaben“ schickt.

Das stimmt leider. :frowning:

Sicherer wäre, sofern es ginge, Rainer bastelt dir was wo du
das handle des VMplayers ermitteltst und dann per API in diese
Fenster per sendmessage Eingaben schickst.

API und VBS vertragen sich nicht. Sendmessage mit VBS geht nicht.

Gruß Rainer

Schade…
hab grade mal auf der VMware-Seite geguckt und da gibt es ein SDK, ein Perl-Toolkit und noch einige andere Sachen. Aber dafür, dass ich von alledem relativ wenig (bis gar keine :smiley: ) Ahnung habe und das Skript eher unwichtig ist, lass ich das einfach mal.
Vielleicht wenn ich groß bin :]
Trotzdem vielen Dank für eure Antworten!