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

标签 php .net windows com

首先我会说我对使用 COM 的经验绝对为零,更不用说通过 PHP 的 COM extension 使用它们了。 .

作为更大项目的一部分,我需要获取 IShellFolder 表示给定的绝对系统路径。我做了很多谷歌搜索,我遇到的大多数解决方案都涉及利用 SHGetDesktopFolder ,但结合了语法差异(因为我看到的所有示例都是使用某些 .NET 语言或其他语言)以及 Desktop 的事实可能不会是我正在寻找的道路的祖先,这让我感到困惑。

如果它与答案相关,我的最终目标是使用 IShellFolder检索 IExtractImage对于 IShellFolder 中的给定文件并在运行脚本的服务器上显示图像。

最佳答案

不知道PHP有没有什么特别的工具,但是C或者C++ Raymond Chen推荐使用SHParseDisplayName将绝对路径转换为 ​​PIDL,然后 SHBindToParent这会为您提供文件夹中文件的 IShellFolder 指针和 PCUITEMID_CHILD

(His example function GetUIObjectOfFile 更进一步并绑定(bind)到对象本身,尽管这可能不是您想要的)

但是,由于它使您在处理其他内容之外还要处理 PIDL,因此它可能比 SHGetDesktopFolder 方法更糟糕。

关于php - 如何将绝对系统路径转换为 ​​IShellFolder?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22548071/

相关文章:

c++ - VC6转VS2008时try catch报错

c# - 如何在一个 Windows 窗体面板中的一个 Csharp 面板中使用多个窗体?

Windows API编程

php - laravel 微风多重身份验证 - 具有两种不同注册的管理员保护

c# - 解密 1 个字节后无法打开 xml?

c# - Entity Framework 多对象上下文

c# - 寻找 .net winform 的月/年选择器控件

php - 如何找到 2 个日期时间对象之间的天数差异作为日期?

php 在 session 中存储用户标识?

php - 错误 : Invalid PathExpression. 必须是 StateFieldPathExpression