我有一个在HKCR \ Folder \ shellex \ DragDropHandlers下注册的shell扩展,我需要调用目标文件夹上的GetVolumePathName()+ GetVolumeInformation()(传递给您的PIDL在IShellExtInit::Initialize中)DragDropHandlers IShellExtInit :: Initialize和NETHOOD UNC路径
问题是,当某些东西被放在“Nethood快捷方式”(My Network Places\sharename
)上时,传递给Initialize的PIDL指的是Nethood快捷方式,而不是UNC路径! (呼叫SHGetPathFromIDList在PIDL返回"%USERPROFILE%\NetHood\SHARE on MACHINE"
,而不是像"\\MACHINE\SHARE"
你所期望的)
我也尝试创建PIDL的的IShellItem和调用的IShellItem :: GetDisplayName各种SIGDN值,但它们都没有返回的UNC路径。
如何从此PIDL获取UNC路径?
AFAIR这些是包含'desktop.ini'和'target.lnk'的文件夹。你应该解决文件夹中的'target.lnk'。 – 2011-04-22 09:16:20
是的,我知道他们包含这些文件,但我自己解决这些文件不能是正确的方法来做到这一点。 target.lnk是处理nethood文件夹的IShellFolder的实现细节。 – Anders 2011-04-22 09:35:55