回答
你要WinActivate()
您的VMware窗口,然後使用任何你需要的Send()
和MouseMove()
/MouseClick()
功能。
編輯:
WinActivate()
後,做一個發送(「^ G」),以試圖Send()
或MouseMove()
/MouseClick()
是否與其他虛擬機之前獲得你的虛擬機的GUI控制。
自動化VMware的主要問題是從客戶系統中運行的軟件獲取反饋。例如,您不能通過在主機上執行WinWait()來等待客戶機中的窗口。
避免這種情況的一種方法是實現主/從依賴關係,其中主機操作系統上的AutoIt控制器腳本在guest虛擬機操作系統上發出命令(通過VMware共享文件夾,網絡共享等)和AutoIt執行程序腳本使事情發生並報告(再次,分享)。
一個例子(簡化,但根據我使用的是什麼現在):
WinWait("VMware")
WinActivate("VMware")
Send("{CTRLDOWN}g{CTRLUP}") ; Ctrl+G, give focus to the guest OS
Send("{LWINDOWN}r{LWINUP}") ; Win+R, brings up command entry dialog on the guest
Send("...the actual command with job ID as the argument")
; this last command given to host is actually a compiled AU3 script
; that does something useful and reports back over a network share
Do
Sleep(15000) ; now wait for the script on the guest to report back
Until GuestHasResponded()
Func GuestHasResponded()
; ... check if the guest has created a flag file on the network share
EndFunc
在另一方面,如果你只是需要自動化的VMware客戶端本身(例如自動化虛擬機的創建),你可以通過基本的AutoIt方法獲得,其中的例子在AutoIt論壇上有很多。
你假設VM OS是Windows。 – Mechaflash
@Mechaflash,是的。如果訪客是Linux或Mac OS,只需發送相關的按鍵。如果你指的是主機,它只能是Windows的這個問題。至於客戶不是Windows,有其他操作系統特有的自動化手段。 – minya
- 1. 如何自動化鼠標和鍵盤?
- 2. 發送鼠標和鍵盤事件
- 3. stm32cube,usb主機,hid鼠標/鍵盤
- 4. 從Android應用程序無線發送鍵盤命令到Mac
- 5. 將鍵盤輸入從C#發送到VMWare#
- 6. 使用pyautogui自動化鼠標和鍵盤的更好方法
- 7. 從鍵盤發送SIGINT到bash中的管道命令
- 8. 禁用鍵盤和鼠標
- 9. LIRC - 如何使用鍵盤命令?
- 10. 用於自動化發送到Windows應用程序的鼠標和鍵盤事件的工具
- 11. 使用批處理命令發送鍵盤輸入
- 12. SendInput發送鼠標輸入和鍵盤輸入
- 13. 在C中捕獲和發送鍵盤/鼠標輸入#
- 14. 如何使用AT命令將multipart/concatenated SMS發送到手機?
- 15. 發送鍵盤和鼠標事件到服務器應用程序
- 16. QGraphicsView - 如何禁用鼠標和鍵盤滾動
- 17. 如何鎖定用戶鍵盤和鼠標使用vbscript
- 18. 當沒有使用鍵盤或鼠標時自動註銷
- 19. 如何使用python腳本發送鍵盤命令(保持,釋放,同時)?
- 20. 如何模擬鍵盤/鼠標按鍵?
- 21. c#發送鍵盤命令到另一個窗口/進程
- 22. VMware Fusion和MacbookPro鍵盤
- 23. 如何將鍵盤輸入命令綁定到主窗口?
- 24. 發送鼠標/鍵事件到程序
- 25. 如何使用鼠標/鍵盤鉤子數據從C#dll發送通知到wpf exe
- 26. 鍵盤,向vC++應用程序發送鼠標事件通知
- 27. 從自定義鍵盤發送圖像
- 28. 如何使用UIAutomation獲取鼠標和鍵盤事件
- 29. 如何發送鼠標了使用VBScript
- 30. 使用鼠標和鍵盤在JavaScript中動態表導航
只要確保虛擬機處於活動狀態,並使用Send(...)或Mouse ...(...)命令,就像在我的其他[答](http://superuser.com/a/304583/) 88327) – Samoth