Delphi 使用VMPlayer,是否可以通过编程方式与主机创建共享文件夹?

Delphi 使用VMPlayer,是否可以通过编程方式与主机创建共享文件夹?,delphi,vmware,vmware-player,Delphi,Vmware,Vmware Player,最好使用Delphi进行回答,但任何解决方案都会有帮助 我想做的是创建一个应用程序,当从VMPlayer中运行时,它将创建一个共享文件夹到主机上的已知位置 VMPlayer将运行Windows XP 32位,主机运行Windows操作系统,可能还运行Windows 7 x64。您需要将VMPlayer虚拟化硬件视为一台独立的计算机,在自己的硬件上运行自己的独立操作。这就是虚拟化的工作方式 从技术上讲,主机甚至不知道它正在“运行”另一台计算机,因此它不会以不同的方式对待它。对于来宾操作系统也是如此

最好使用Delphi进行回答,但任何解决方案都会有帮助

我想做的是创建一个应用程序,当从VMPlayer中运行时,它将创建一个共享文件夹到主机上的已知位置


VMPlayer将运行Windows XP 32位,主机运行Windows操作系统,可能还运行Windows 7 x64。

您需要将VMPlayer虚拟化硬件视为一台独立的计算机,在自己的硬件上运行自己的独立操作。这就是虚拟化的工作方式

从技术上讲,主机甚至不知道它正在“运行”另一台计算机,因此它不会以不同的方式对待它。对于来宾操作系统也是如此:您运行的是“vanila”操作系统,它没有理由对其主机进行不同的处理,对GUST来说,主机只是通过本地网络访问的另一台计算机

也就是说,你可以这样重新写你的问题:

我想创建一个应用程序,当从一台计算机运行时,它将创建一个共享文件夹到另一台计算机上的已知位置。一台计算机将运行Windows XP 32位,另一台将运行其他版本的Windows,可能是Windows 7 x64

答案是:当然你不能这么做:这会造成安全漏洞!如果您可以创建共享文件夹,任何人都可以创建共享文件夹。任何人都可以在您的计算机上的任何位置创建共享文件夹


总而言之,如果您可以在主机而不是来宾机上运行应用程序,您可能可以使用VmWare API来执行某些操作,但是免费的VmPlayer无法提供该API。此外,如果您可以在来宾和主机上运行应用程序,您将能够执行任何您想要的操作。

有一个vmrun.exe实用程序可用于控制VM。看看:


我部分不同意:如果主机和VM客户端都在同一个域中运行,并且具有信任关系,那么这应该是可行的。如果没有域,那么您需要成为同一个工作组的一部分(但不确定在后一种情况下是否可以创建共享文件夹)。@Johan,我回答中最重要的部分是说VmWare“硬件”没有什么特别之处;同样,如果两台普通计算机是同一个域的一部分,并且具有信任关系,那么“VM”部分是不相关的。我对域一无所知……您可以从VMWare Workstation或VMWare Player中手动创建一个共享驱动器,通过进入“设置/选项/共享文件夹”来连接到主机上的一个或多个文件夹。我有一个传统的16位应用程序,供我的许多客户使用,当他们将系统升级到Windows 7 64位时无法运行。目前,升级应用程序不是一个选项。由于缺少共享文件夹,因此不能选择使用MS虚拟PC的XPMode。正在寻找创建主机/客户端共享链接的方法(手动除外)。@theven,您在哪里执行
“设置/选项/共享文件夹”
?我正在查看我的VmWare工具(在来宾系统中运行),但我没有这样的选项。如果你说的是VmPlayer的“设置”菜单,从技术上讲,它是在来宾机上运行的,而不是在主机上。设置在VmPlayer界面上,而不是在VMWare工具上。我原本以为这是客人方面的。把它看作是界面的一部分,我更倾向于说它是主机的一部分。有趣的问题是,我对VMWare内部的了解还不够多,只能推测。在VMPlayer中,您可以通过进入“设置/选项/共享文件夹”下手动创建主机/客户端共享文件夹。我希望能够创建一个应用程序(可以从客户端操作系统中运行的东西),它可以创建这样一个共享链接,而不是手动设置。因为这是VMWare Player,我没有(或想要)访问最终用户系统主机系统的权限,所以我不能使用需要VMWare Server等的解决方案。@即使在谈论VMWare虚拟化时,您也应该使用公认的词汇:您有一个运行VmPlayer的主机操作系统;VmPlayer正在模拟硬件,并且在模拟硬件上运行来宾操作系统。您可以在主机或来宾操作系统上运行自己的程序。我不确定“在VMPlayer内”是什么意思:如果你按下VMPlayer本身的按钮,你基本上是在使用一个在主机操作系统上运行的程序。[…][…]因为您只能在来宾或主机上运行程序,并且您说您希望您的程序“在VMPLayer中”运行,所以我假设您希望它在来宾操作系统中运行。您无法从来宾操作系统中创建共享文件夹,这将使VmWare产品无法用于“安全测试”。人们经常在VmWare上运行未知软件,因为他们知道这样做不会影响主机操作系统。但是,如果恶意软件可以随意在来宾中创建共享文件夹,它可能会感染主机!Cosmin-我相信您对来宾系统无法在主机上创建共享的说法是正确的。这将是一个重大的安全违规行为。我的错,我没有想清楚。如果有办法以编程方式(或者可能通过使用命令行)创建共享,那么必须从主机端完成。感谢您的澄清。感谢您提供的信息,但我认为它不适用于VMWare Player。我也不能访问最终用户的系统。@七,首先它适用于VmPlayer。并非所有功能都可用,我无法测试共享文件夹创建是否在VmPlayer上可用(我使用工作站),但这可能是因为它没有列为“不可用”。第二,如何在不访问用户系统的情况下部署VmPlayer和VM映像?VmPlayer是