Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows资源管理器备用数据流外壳扩展_Windows_Winapi_Shell Extensions_Alternate Data Stream - Fatal编程技术网

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++源代码,至少应该给你一个开始的地方。

我有一些使用备用数据流的文件,它们没有显示在windows资源管理器上。我想制作一个shell扩展或一个在后台运行的程序,当我使用windows资源管理器并导航到一个包含备用数据流文件的文件夹时,它会向windows资源管理器显示此文件,但上面有一个覆盖图标

这可能吗?是否有要检查的示例代码


非常感谢。

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。我可以查看一些信息,但当我第二次尝试以十六进制形式查看信息时,例如,它崩溃了。