jjzjj

IShellFolder

全部标签

c# - 通过其 pIDL 识别 Windows Shell 特殊文件夹(即获取其 CSIDL)(现在确定 pIDL 是否与 C# 相同)

我有一种情况,我想对一些Windowsshell特殊文件夹(那些对应于CSIDL枚举中的值的文件夹)执行特殊处理。(我的解决方案必须与WinXP兼容。)我遇到的问题是,当我当我在层次结构中工作时遇到IShellFolders,我找不到将IShellFolders与其CSIDL匹配的方法。这是我目前的做法:将所有CSIDL的静态一对一数据结构(csidlToFromFullPIdl)初始化为其由SHGetSpecialFolderLocation返回的pIDL。foreach(CSIDLcsidlinEnum.GetValues(typeof(CSIDL)){IntPtrfullPIdl

php - 如何将绝对系统路径转换为 ​​IShellFolder?

首先我会说我对使用COM的经验绝对为零,更不用说通过PHP的COMextension使用它们了。.作为更大项目的一部分,我需要获取IShellFolder表示给定的绝对系统路径。我做了很多谷歌搜索,我遇到的大多数解决方案都涉及利用SHGetDesktopFolder,但结合了语法差异(因为我看到的所有示例都是使用某些.NET语言或其他语言)以及Desktop的事实可能不会是我正在寻找的道路的祖先,这让我感到困惑。如果它与答案相关,我的最终目标是使用IShellFolder检索IExtractImage对于IShellFolder中的给定文件并在运行脚本的服务器上显示图像。

c++ - 如何获取 IShellFolder 的 PIDL

如果我有一个IShellFolder接口(interface)指针。我怎样才能获得它的PIDL?我可以看到如何枚举它的child,我可以看到如何用它来比较任何两个child。但是我怎样才能得到它自己的pidl?我问是因为我想知道:IsthisIShellFolder==AnotherIShellFolder我可以使用IShellFolder::CompareIDs(),但我必须拥有两个文件夹的ID。 最佳答案 Chris或Mordechai在#1上写的内容无论如何都不是重点。问题不在于shell命名空间中的对象,而在于具有IShel