通过SHGetDeskTopFolder可以获得一个IShellFolder对象,然后通过Delphi的封装可以获得一个TShellFolder对象,假设这个对象名为DesktopFolder
现在问题是:
通过DesktopFolder.IShellFolder.ParseDisplayName和DesktopFolder.IShellFolder.BindToObject可以获得ItemIDList和ShellFolder,然后创建一个tempFolder的TShellFolder对象,但是现在无法通过tempFolder.IShellFolder的相关方法,获得其它的ItemIDList和ShellFolder参数,一执行ParseDisplayName或者BindToObject就出现参数错误的提示(使用OleCheck),而使用DesktopFolder.IShellFolder使用相同参数却能够正常工作,该如何修改?