在我的C#3.5程序中,我想从MS Virtual PC机器访问NTFS / FAT驱动器。
我可以在Microsoft网站上看到一些用于Virtual PC的C ++ API,但找不到.NET(我应该使用P-Invoke吗?)。我想通过帮助或常规.NET API调用(如File.ReadAllText,Directory.GetDirectories等)检查虚拟michine中文件系统中的文件和文件夹。
非常感谢示例代码。
答案 0 :(得分:1)
似乎与您的VMDK question ...
类似的问题无论如何,您可以使用WinMount($)之类的东西来安装映像,然后像访问任何其他本地驱动器一样访问它。
如果您有MS Virtual Server,则另一个选项是VHDMount。
两者都有一个命令行工具,如果需要,可以从应用程序中启动。
答案 1 :(得分:1)
根据主机操作系统的不同,您可以使用Windows 7 / Server 2008中引入的Virtual Harddisk API。我不知道.NET支持它。据我所知,你将不得不使用互操作来访问它。
您可以在http://www.jmedved.com/2009/05/open-and-attach/中找到一个示例,该示例仅定义附加VHD绝对需要的结构/函数。可以在http://files.codes-sources.com/fichier_fullscreen.aspx?id=50320(参见Win7_VirtualDiskWrapper / VirtualDiskWrapper / Interop)目录中找到更完整的互操作定义类。
请注意,使用此API需要管理权限。
如果您的应用程序应在早于Win7的操作系统上运行,那么据我所知,您必须使用此处的回复/评论中所述的外部工具。