You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让主机Python脚本的点击操作在VMware虚拟机中生效?

解决pydirectinput点击无法作用于VMware虚拟机的问题

核心原因

pydirectinput是直接模拟主机系统的DirectInput输入,默认情况下主机系统会优先处理这些输入,不会传递给处于捕获状态的虚拟机。要让输入作用于虚拟机,有以下几种可行方案:

方案1:在虚拟机内运行脚本

这是最直接可靠的方式:

  • 在VMware中启动目标虚拟机,安装Python环境
  • 在虚拟机内执行 pip install pydirectinput 安装依赖库
  • 将测试脚本复制到虚拟机中运行,此时点击操作会直接作用于虚拟机系统

方案2:主机运行脚本控制虚拟机(依赖窗口激活)

如果必须在主机运行脚本,可通过激活虚拟机窗口+替换输入库实现:

  1. 确保VMware虚拟机窗口处于可见状态,未被最小化
  2. 使用pyautogui替代pydirectinput(它能模拟全局输入,当虚拟机窗口捕获输入时会传递进去),修改后的测试脚本:
import time
import pyautogui

def main():
    # 根据虚拟机窗口标题激活窗口(替换为你的虚拟机实际标题)
    target_windows = pyautogui.getWindowsWithTitle("你的虚拟机窗口标题")
    if target_windows:
        target_win = target_windows[0]
        target_win.activate()
        time.sleep(1)  # 等待窗口激活完成
    time.sleep(5)
    pyautogui.click()

if __name__ == "__main__":
    main()
  1. 运行脚本前,手动点击一次虚拟机窗口让其捕获输入(或依赖脚本的窗口激活逻辑),确保虚拟机处于输入接收状态

方案3:使用VMware Guest API(高级方案)

如果虚拟机已安装VMware Tools,可通过VMware的官方SDK(如pyvmomi)直接向虚拟机发送输入事件,无需依赖窗口激活:

  • 安装pyvmomi库:pip install pyvmomi
  • 通过SDK连接到VMware Workstation,定位目标虚拟机,调用输入模拟接口发送点击事件(需参考VMware官方文档配置权限与连接参数)

内容的提问来源于stack exchange,提问作者addohm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 20:01:15