2012-05-03 3 views
0

시작 메뉴에서 "내 컴퓨터"를 클릭하면 직접 링크 대신 GUID 링크가 반환됩니다. 내가 QDir의 도움으로 디렉토리와 파일의 목록을 얻을 수 있도록Qt/C++을 사용하여 Windows에서 GUI를 경로로 변환하는 방법은 무엇입니까?

::{20B04FE1-3AEA-1069-A2D8-08012B30309D}

가 어떻게 그것이 정상적인 경로로 변환 할 수 있습니다 : 예를 들면? 내가 드라이브의 목록을 얻으려고 노력하고 있지 않다

UPDATE. Qt로 쉽게 할 수 있습니다. 사용자가 시작 메뉴에서 내 컴퓨터를 클릭했음을 알고 싶습니다. 내 응용 프로그램은 Windows 탐색기를 대체 할 수 있습니다.

+0

일반적으로 ['SHGetFolderPath'] (http://msdn.microsoft.com/en-us/library/windows/desktop/bb762181%28v=vs.85%29.aspx)를 ['CSIDL_DRIVES' ] (http://msdn.microsoft.com/en-us/library/windows/desktop/bb762494%28v=vs.85%29.aspx)이 일종의 두 번째 인수로,하지만 난 생각하지 않아요 'CSIDL_DRIVES'는 물리적 인 경로 표현을 가지고 있습니다. 무엇을 성취하려고합니까? – ildjarn

+0

@ildjarn, 질문을 업데이트했습니다 – Alex

+0

'SHITEMID'을 올려보세요. – Ben

답변

1

파일 시스템이 아니라 쉘 네임 스페이스의 항목을보고 있습니다. 소개 쉘 네임 스페이스에

는 :

http://msdn.microsoft.com/en-us/library/windows/desktop/cc144090(v=vs.85).aspx

쉘은 내 컴퓨터가 하나 인 파일로 존재하지 않는 많은 것들을 보여줍니다. 데스크탑은 또 하나입니다. 쉘 데스크탑은 모든 사용자 데스크탑 폴더, 개인 데스크탑 폴더 및 휴지통과 같이 완전히 가상적인 몇 가지 다른 항목의 병합 된보기입니다.

SHParseDisplayName을 사용하면 ITEMIDLIST으로 이름을 변환 할 수 있습니다.

Explorer 용 대체품을 제공하려는 경우 행운을 빈다.

관련 문제