0

我正在实施类似 Windows-Explorer-view 的方法。

首先,我通过获取桌面 pidlSHGetSpecialFolderLocation(NULL, CSIDL_DESKTOP, &pidl)并将其存储在类属性中。在我IShellBrowser::BrowseObject被调用后,我用 pidl 覆盖属性是通过这个方法传递的。如果我想上去,我调用 call SHBindToParent,将存储的 pidl 传递给它,但我得到了E_INVALIDARG或者桌面 pidl。我怀疑我在其中传递了错误的 PIDL。

我应该如何让父母 PIDL 正确?

4

1 回答 1

1
// C#
 [System.Runtime.InteropServices.DllImportAttribute("shell32.dll", EntryPoint="ILRemoveLastID")]
    [return: System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.Bool)]
public static extern  bool ILRemoveLastID(System.IntPtr pidl) ;

}
于 2012-06-25T16:26:57.820 回答