首选使用 Delphi 进行回答,但任何解决方案都会有所帮助。
我想做的是创建一个应用程序,当从 VMPlayer 中运行时,它将创建一个共享文件夹到主机上的已知位置。
VMPlayer 将运行 Windows XP 32 位,主机运行 Windows 操作系统,也可能运行 Windows 7 x64。
首选使用 Delphi 进行回答,但任何解决方案都会有所帮助。
我想做的是创建一个应用程序,当从 VMPlayer 中运行时,它将创建一个共享文件夹到主机上的已知位置。
VMPlayer 将运行 Windows XP 32 位,主机运行 Windows 操作系统,也可能运行 Windows 7 x64。
有 vmrun.exe 实用程序可用于控制 VM。看着:
http://www.vmware.com/support/developer/vix-api/vix110_vmrun_command.pdf
您需要将您的 VMPlayer 虚拟化硬件视为一台独立的计算机,在它自己的硬件上运行它自己的独立操作。这就是虚拟化的工作方式!
从技术上讲,主机甚至不知道它正在“运行”另一台计算机,因此它不会以不同的方式对待它。对于 GUEST 操作系统也是如此:您正在运行一个“vanila”操作系统,它没有理由区别对待它的主机计算机,对于 GUST,主机只是通过本地网络访问的另一台计算机。
话虽如此,您可以像这样重写您的问题:
我想创建一个应用程序,当从一台计算机运行时,它将创建一个共享文件夹到另一台计算机上的已知位置。一台计算机将运行 Windows XP 32 位,另一台计算机将运行其他版本的 Windows,可能是 Windows 7 x64
答案:当然不能这样做:这会造成安全漏洞!如果您能够创建共享文件夹,那么任何人都可以创建共享文件夹。任何人都可以在您机器上的任何位置创建共享文件夹!
总结一下,如果您可以在 HOST 而不是 GUEST 上运行您的应用程序,您也许可以使用 VmWare API 来做一些事情,但 AFAIK 该 API 不适用于免费的 VmPlayer。此外,如果您可以在来宾和主机上运行应用程序,您就可以为所欲为。