HKCR \ Folder \ shellex \ DragDropHandlers 아래에 쉘 확장이 등록되어 있고 대상 폴더에서 GetVolumePathName() + GetVolumeInformation()을 호출해야합니다 (IShellExtInit::Initialize에 전달 된 PIDL)DragDropHandlers IShellExtInit :: 초기화 및 NETHOOD UNC 경로
문제는 "Nethood 단축키"(My Network Places\sharename
)에 놓을 때 초기화로 전달 된 PIDL이 UNC 경로가 아닌 Nethood 바로 가기를 참조한다는 것입니다!
나는 다양한 SIGDN 값이 a를 PIDL의 IShellItem 및 호출 IShellItem ::하는 getDisplayName을 만들려고합니다 (PIDL에 SHGetPathFromIDList를 호출하면 당신이 기대처럼 "%USERPROFILE%\NetHood\SHARE on MACHINE"
하지 "\\MACHINE\SHARE"
을 반환)하지만 그들 중 누구도 UNC 경로를 반환하지 않습니다.
어떻게이 PIDL에서 UNC 경로를 얻을 수 있습니까?
AFAIR은 'desktop.ini'및 'target.lnk'이 포함 된 폴더입니다. 폴더에서 'target.lnk'을 해결해야합니다. –
예 그 파일이 포함되어 있음을 알고 있지만 직접 해결하면 올바른 방법이 될 수 없습니다. target.lnk는 nethood 폴더를 처리하는 IShellFolder의 구현 세부 사항입니다. – Anders