Windows PC에서 MTP와 연결된 안드로이드 장치로 파일 전송을 구현했습니다. 복사 구현이 준비되었습니다 (이 예제는 http://code.msdn.microsoft.com/windowsdesktop/Portable-Devices-COM-API-fd4a5f7d입니다).폴더 탐색 대화 상자에서 사용할 수있는 mtp 장치의 경로를 생성하는 방법은 무엇입니까?
이제 UI를 개선하고 싶습니다. 사용자가 MTP 장치 폴더를 선택할 수있는 폴더 선택 대화 상자를 제공하고 싶습니다. 여기서 파일을 저장합니다 (FOS_PICKFOLDERS가 작동하는 CLSID_FileOpenDialog). 대화 상자에서 "여기 저장할 수 없습니다"라는 오류 메시지가 표시되므로 간단한 파일 저장 대화 상자가 작동하지 않습니다. ?
:: {20D04FE0-3AEA-1069-A2D8-08002B30309D} \\ \의 USB # vid_04e8 & pid_6860 & mi_00 # 6 & 2296b879 0000 # :
폴더 탐색의 결과는 다음과 유사합니다 {6ac27878-a6fa-4155-ba85-f98f491d4f33} \ {SID- 10001, SECZ9519043CHOHB, 12,635,222,016} {01B8016B-0164-00F2-E100-55012C014001}
USB 번호 vid_04e8 pid_6860 & & mi_00 # 6 2296b879 & & & 0 0000 # {6ac27878-a6fa-4155-ba85-f98f491d4f33}
이 장치임을 알고, IPortableDeviceManager는 이것을 장치 ID로 사용합니다.
SID- {10001, SECZ9519043CHOHB, 12,635,222,016는} \ {01B8016B-0164-00F2-E100-55012C014001}는
이 장치의 경로이다. 이 GUID는 장치 개체의 WPD_OBJECT_PERSISTENT_UNIQUE_ID 속성입니다.
이 정보를 사용하여 장치를 선택하고 장치에서 폴더를 찾을 수 있으므로 사본을 만들 수 있습니다.
내 문제는 장치의 내 folderbrowsedialog에서 기본 디렉터리를 선택하고 싶습니다. 상위 경로를 만들 수 없습니다. 참고로 기본 경로로 제공하면 올바른 폴더에서 찾아보기를 시작합니다.
이 :: {20D04FE0-3AEA-1069은-A2D8-08002B30309D}
가 나는 또한 레지스트리에 보았다 :
문제가있는 부분은 내가 할 수없는 시작 GUID입니다. HKEY_USERS \ S-1-5-21-2044730494-4069800027-1247311059-1000 \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ CLSID {20D04FE0-3AEA-1069-A2D8-08002B30309D 만 하나의 항목에서이 GUID를 발견했습니다. } 값이입니다 \ DefaultIcon은
:
C : \ WINDOWS \ SYSTEM32 \의 imageres.dll, -109
(CLSID 하위 폴더가 GUID 더 포함하고, 그래서 찾을 수없는, 올바른입니다)
이 GUID를 사용하여 전체 기본 경로를 구성하는 방법을 알고 계십니까?