Windows资源管理器备用数据流外壳扩展
我有一些使用备用数据流的文件,它们没有显示在windows资源管理器上。我想制作一个shell扩展或一个在后台运行的程序,当我使用windows资源管理器并导航到一个包含备用数据流文件的文件夹时,它会向windows资源管理器显示此文件,但上面有一个覆盖图标 这可能吗?是否有要检查的示例代码Windows资源管理器备用数据流外壳扩展,windows,winapi,shell-extensions,alternate-data-stream,Windows,Winapi,Shell Extensions,Alternate Data Stream,我有一些使用备用数据流的文件,它们没有显示在windows资源管理器上。我想制作一个shell扩展或一个在后台运行的程序,当我使用windows资源管理器并导航到一个包含备用数据流文件的文件夹时,它会向windows资源管理器显示此文件,但上面有一个覆盖图标 这可能吗?是否有要检查的示例代码 非常感谢。Microsoft已经提供了一个名为的shell属性表处理程序。当然,这不是你所寻找的,是为Windows 2000和WindowsXP编写的,但是它包含C++源代码,至少应该给你一个开始的地方。
非常感谢。Microsoft已经提供了一个名为的shell属性表处理程序。当然,这不是你所寻找的,是为Windows 2000和WindowsXP编写的,但是它包含C++源代码,至少应该给你一个开始的地方。
在Windows Vista中,引入了两个新的API函数,以便更轻松地枚举备用数据流:和。这些函数的工作原理与Win32多年来一直使用的其他
FindFirstX
和FindNextX
类型函数非常相似 另一个与Windows资源管理器x64配合使用的较新选项是AlternateStreamExtension。它还提供图标覆盖
您可以找到它。好的,但是如何在windows资源管理器上显示备用数据流文件?同样,在我看来,shell不太可能允许向目录添加额外的虚拟项。现在,虚拟名称空间当然是可能的,但我怀疑它是否是真正的目录。他们不想将实际项目添加到目录中。考虑到问题中的标签,您可能需要重新考虑。您可以将Java或.NET运行时注入到使用公共文件对话框的每个进程中。虽然从性能的角度来看非常糟糕,但还有一个更大的问题,即这会导致与针对不同框架版本的应用程序不兼容。请用C++做,即使在C++上怎么做?这方面有没有一些例子或东西可以使用?不幸的是,它不适用于Windows 10。试图通过PowerShell查看流集时,我遇到了一个DLL错误。@seagull:我刚刚在Windows 10 x64上尝试过它:对我来说很有吸引力。也许你混合了32位和64位DLL?不,我安装了正确的DLL。我可以查看一些信息,但当我第二次尝试以十六进制形式查看信息时,例如,它崩溃了。