我可以从客户虚拟机访问主机 win32 API 吗?

我可以从客户虚拟机访问主机 win32 API 吗?

问题 使用虚拟机内部的 win32 API 从主机操作系统上运行的 Windows 应用程序中提取信息。 细节 我需要在客户端机器上运行后台作业,并且希望编写的脚本可以在不同的 Windows 版本上运行。目前我没有时间/资源在不同的 Windows 版本上测试我的脚本(python)。因此,我决定在客户端机器上安装虚拟机并在虚拟机内运行我的脚本。

我现在的问题是,我的 python 脚本在虚拟机内运行时是否可以访问主机操作系统的窗口?

答案1

不,您无法直接访问主机 Windows 操作系统。

根据所使用的虚拟化系统,您可以访问主机的某些资源,例如:

  • 可用的网络驱动器/TCP/UDP 端口(需要客户机和主机之间至少有仅主机网络)
  • 主机上的某些文件和文件夹(需要配置“共享文件夹”功能并在客户操作系统上安装 VirtualBox 客户工具)
  • 某些 USB 设备(配置要传递到客户操作系统的 USB 设备)

我认为你使用 VM 的方法并不可取。通常 Python 脚本对所用的 Windows 版本不太敏感。版本之间唯一可能发生变化的部分是某些用户或程序文件的位置。但由于目前实际上只剩下两个 Windows 版本(Windows 8 和 Windows 10 以及相应的服务器版本),因此测试工作是可控的。

相关内容