我要实现的目标是运行一个程序,该程序认为一个文件夹存在于其自己的文件夹中,而实际上该文件夹位于系统上的其他位置。
因此,我的程序将启动一个过程并对该过程进行说:位于C:\ A的文件夹A位于您自己的目录中,该目录位于C:\ Program Files(x86)\ SomeProgram \ A
因此,“虚拟”目录仅对该进程可见。
我正在使用Qt对程序进行编程,因此,如果可以使用任何Qt函数(相对于可移植性),那将会很棒。但是,计划C ++或任何Windows绑定的API都可以。
我当时在考虑NTFS结点或符号链接,但我不知道如何在C ++中创建两个结点,更不用说将它们绑定到特定进程了。
提前致谢!
编辑:
关于上述内容,我发现了以下问题:https://superuser.com/questions/234422/does-windows7-support-symbolic-links-folder-shortcuts。但是,它仅显示了如何从命令行执行所需的操作,并且不受进程的约束。
编辑2:
一些额外的信息:我试图创建一个虚拟目录,该目录由几个其他目录组成,然后合并(我使用优先级系统来确定哪些文件从其他文件中“赢了”)。这些合并的目录随后将在目标进程中显示为包含合并文件的一个目录。
最佳答案
我想我将坚持使用Window的mklink命令。似乎最适合我的需求。
我要做的是在不是Windows的所有操作系统上使用QFile :: link(),在Windows上使用带有mklink的QProcess。这应该适用于每个操作系统。
举个很好的例子:https://stackoverflow.com/a/21013935/979732
关于c++ - 在虚拟文件系统中运行进程?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26089452/