如何在.NET中安装Microsoft虚拟PC文件系统?

如何在.NET中安装Microsoft虚拟PC文件系统?,.net,mount,virtual-pc,.net,Mount,Virtual Pc,在我的C#3.5程序中,我想从MS虚拟PC机访问NTFS/FAT驱动器 我可以在微软网站上看到一些用于虚拟PC的C++ API,但是找不到.NET(我应该使用p-调用吗?)我希望通过帮助或常规的.NET API调用,如File.ReadAllText、Directory.GetDirectories等,检查虚拟michine中文件系统中的文件和文件夹 非常感谢您提供一个示例代码。对于您的 无论如何,您可以使用类似($)的东西装载映像,然后像访问任何其他本地驱动器一样访问它 另一个选项是,如果您有

在我的C#3.5程序中,我想从MS虚拟PC机访问NTFS/FAT驱动器

<>我可以在微软网站上看到一些用于虚拟PC的C++ API,但是找不到.NET(我应该使用p-调用吗?)我希望通过帮助或常规的.NET API调用,如File.ReadAllText、Directory.GetDirectories等,检查虚拟michine中文件系统中的文件和文件夹


非常感谢您提供一个示例代码。

对于您的

无论如何,您可以使用类似($)的东西装载映像,然后像访问任何其他本地驱动器一样访问它

另一个选项是,如果您有MS虚拟服务器


两者都有一个命令行工具,如果需要,可以从应用程序中启动。

根据主机操作系统的不同,您可以使用Windows 7/Server 2008中引入的。我不知道.NET对它的支持。据我所知,您必须使用interop来访问它

您可以在中找到一个示例,该示例仅定义附加VHD绝对需要的结构/函数。在(请参阅Win7_VirtualDiskWrapper/VirtualDiskWrapper/interop)目录中可以找到更完整的互操作定义类

请注意,使用此API需要管理权限


如果您的应用程序应该在早于Win7的操作系统上运行,那么据我所知,您必须使用此处回复/评论中所述的外部工具。

您是在尝试访问虚拟机看到的驱动器还是主机驱动器?如果你想做第二件事,我认为这是不可能的…我想从主机访问虚拟驱动器。我想在不打开虚拟机的情况下这样做。为什么不可能?虚拟PC本身就是这样做的,所以我的程序也应该可以。是的,我将在我的程序中支持这两种格式。我希望避免使用第三方程序。如果可能的话,我想使用.NETAPI。我对VMWare不太清楚,但我不相信Microsoft在自己的.NET上没有使用自己的API支持自己的技术。@Alex如果第三方工具解决了这个问题,你不应该回避它们+1对于答案,它真的很酷,特别是第二个链接,那里有很多信息。谢谢,Andrey-会更加关注第二个链接。我找到了一个安装VHD的免费工具。谢谢,telewin,这正是我想要的!