所以我使用以下代码将每个扩展文件属性转储到调试控制台...
ShellClass shellClass = new ShellClass();
Folder dir = shellClass.NameSpace(Path.GetDirectoryName(sFilePath));
FolderItem item = dir.ParseName(Path.GetFileName(sFilePath));
for (int i = 0; i < 267; i++)
{
System.Debug.WriteLine(dir.GetDetailsOf(item, i));
}
由于 Shell32 是一个非托管库,我不能直接在程序中嵌入 DLL 资源,它必须生成一个互操作帮助 DLL。
任何人都知道 Shell32 中这些函数的 DLLImport 命令行来绕过整个互操作 DLL 的生成?我检查了 pinvoke.net 并且在 Shell32 条目下,他们要么没有我要找的东西,要么没有命名我所期望的。
如果无法使用 DLLImport 来完成此操作,是否有人知道使用托管 DLL 提取有关文件的所有扩展属性的方法,或者至少有一种方法可以在我不必生成的情况下执行此操作帮助 DLL 并需要安装程序和我正在开发的应用程序?
非常感谢!