Hallo zusammen,
ich bin ganz neu im Forum und auch relativ neu bei dem Programm. Falls es eigentlich eine blöde Frage ist, dann bitte nicht gleich den Kopf abreissen.
Zu meiner Situation:
Ich habe unter dem VMware Player eine Win 8.1 VM laufen. Innerhalb dieser VM kann ich vom Host ein Programm starten. Das ganze läuft dann im Unity Mode und ich habe eine Verknüpfung auf dem Host gemacht.
Nun lässt sich das Programm ja ganz einfach öffnen und schliessen. Leider wird beim Schliessen allerdings die VM nicht heruntergefahren. Um nun Ressourcen zu sparen wollte ich ein kleines Script schreiben, welches im Hintergrund guckt, ob das Programm innerhalb der VM offen ist oder nicht.
Wenn ja, dann soll es 5 Minuten warten. Wenn nicht, dann soll die VM heruntergefahren werden.
Im Grunde funktioniert das meiste auch schon, bis auf den Befehl zum Herunterfahren der VM. Hier bräuchte ich etwas Hilfe, um dies etwas komfortabler zu lösen.
Mein Script:
#include <Process.au3>
Yadis()
Func Yadis()
If WinExists("[CLASS:VMwareUnityHostWndClass]") Then
Sleep(50000)
Call("Yadis")
Else
MsgBox(0,"","Yadis ist nicht aktiv")
Run("C:\vmware.bat")
EndIf
EndFunc
Alles anzeigen
in der Batchdatei "vmware.bat" steht folgendes:
@echo on
cd\
cd C:\Program Files (x86)\VMware\VMware VIX\
vmrun.exe -T player stop "D:\Windows 8 VM\Windows 8 x64.vmx"
Diesen Befehl würde ich nun natürlich gerne direkt in das Script einbinden, allerdings habe ich es in den Möglichkeiten, die ich probiert habe nicht hinbekommen.
Entweder ich erhalte eine Fehlermeldung, oder es passiert einfach gar nichts.
Ich habe etwas die Hoffnung, dass mir einer die Codezeile sagen könnte, weil ich echt nicht mehr weiter weiß. Die gesamten Versuche hier aufzulisten würde wahrscheinlich das Forum sprengen
Bin für jede Hilfe dankbar.
Schöne grüße
BalloS