我需要在内存或磁盘上创建 FileSystem 类型的东西,它可以像磁盘上的文件一样访问,它的路径可以在 fopen() 等函数中使用。
详细信息: 我正在使用 AddFontResourceEx 函数在应用程序中加载字体。由于此功能需要文件路径,因此文件需要存在于磁盘上。但我要求用户不能访问/查看字体文件。
我尝试了 AddFontMemResourceEx 函数,但加载的字体不可枚举,因此用户无法在应用程序中看到字体。我也尝试过一些创建 VFS 的库,但它们像数据库一样工作,即你可以创建文件/目录并访问它们。但不能在 AddFontResourceEx 或任何其他函数中使用它们的文件路径。
是否存在某种方法可以让我在内存或磁盘上创建一个虚拟文件系统,它可以通过我的应用程序访问,我可以在这个创建的虚拟文件系统上写/读文件,它的文件路径可以被 AddFontResourceEx 函数使用.
最佳答案
这真的行不通。是的,您可以添加一个“虚拟”文件系统。但它要么对用户 X 可见,要么不可见。 Windows 上的访问控制基于每个用户,而不是每个程序。因此,如果用户 X 可以在应用程序 A 中看到该字体,他也可以在应用程序 B 中看到它 - 即使 B 是 Explorer.EXE。
关于c++ - 如何创建文件路径可以像磁盘一样访问的虚拟文件系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10933322/