현재 내 속성 핸들러는 String
유형의 Windows 탐색기 열에 표시 할 수있는 속성을 제공합니다. 내 목표는 (디스플레이) 유형 아이콘의 속성으로 처리기를 확장하여 Windows 탐색기의 세부 정보보기에 열로 추가 할 수 있습니다. 이 열에는 각 파일 항목에 대한 아이콘이 표시되어야합니다 (예 : 지. 아이콘은 여러 가능한 상태 중 파일의 특정 상태를 나타낼 수 있습니다.Windows 속성 시스템에서 IconList 속성을 만드는 방법은 무엇입니까?
그러나 Windows 특성 시스템의 기본에서 이러한 특성을 갖는 특성을 작성하는 데 필요한 부분을 올바르게 조합 할 수 없었습니다.
내 방식의 첫 번째 단계는 .propdesc 파일의 속성에 대한 XML을 지정한 다음 일반적인 PSRegisterPropertySchema
등록 과정을 거쳐야하는 것입니다. 이것은 항상 성공적으로 실행되며 속성은 Windows 속성 시스템에 나열됩니다. <displayInfo>
태그 내에 유형 "IconList"
의 control
속성
<propertyDescription name="myprop.icon" formatID="{c5f47221-1053-4a75-aadc-0bfbac1c3e9c}" propID="444">
<typeInfo type="???" isInnate="true" isViewable="true"/>
<labelInfo label="MyProp-Icon"/>
<displayInfo defaultColumnWidth="25" alignment="Center">
<drawControl control="IconList"/>
</displayInfo>
</propertyDescription>
<drawControl>
(drawControl)의 존재는 내 아이디어가 실현 될 수 있다고 생각한다.
그러나 을 <typeInfo>
태그 (typeInfo)에 어떻게 설정합니까? control="IconList"
의 개념에 따라 인덱스 과 같은 정수로 약간의 이미지 목록이 될 수 있습니다. 또는 이미지 자체를 나타내는 "Buffer"
, "Blob"
또는 "Stream"
입니까?
마지막으로, PROPVARIANT
가 .propdesc 파일의 속성 설명에 따라 초기화하는 속성 처리기 셸 확장의 GetValue()
방법 : 다시
HRESULT PropertyHandler::GetValue (REFPROPERTYKEY key, PROPVARIANT *pPropVar)
{
HRESULT hr = ERROR_NOT_FOUND;
if (key.pid == 444)
{
// How to initialize pPropVar in case of control="IconList"?
}
else
{
// String example
hr = InitPropVariantFromString (L"Some Text", pPropVar);
}
return hr;
}
, "IconList"
이 작업을 수행하는 방법 속성?
XML 사양과 PROPVARIANT 초기화 간의 정확한 일치를 찾으려고 할 때마다 Windows 탐색기의 해당 열이 비어 있습니다.
이미 IconList
유형의 <drawControl>
인 속성을 구현 한 사람이 있습니까?
덕분에 많이, 물방울은 확실히 맞습니다. 나는 여전히'pPropVar-> blob.pBlobData'를 예상 된 데이터 (이미지) 포맷으로 설정하는데 어려움을 겪고있다. 나는 비트 맵에서'GetDIBits()'에 의해 추출 된 바이트 배열과 BMP, PNG, ICO 파일의 파일 내용의 바이트 배열 인 데이터 자체로서'HBITMAP'을 시도했다. 불행히도 아이콘 조합은 이러한 모든 조합에서 여전히 비어 있습니다. –
매우 흥미롭고 신비 롭습니다. 'propsys.dll'에있는 리소스에 관한 힌트는'System.OfflineStatus'와 같은 속성으로 연결됩니다. 'displayType = "Enumerated"와''의''은 DLL의 이미지 자원을 참조하는'' 태그를 포함합니다. 이것은 완전히 합리적으로 들리고 그런 속성을 만들었지 만 불행히도 이미지는 결코 표시되지 않습니다. 대신 칼럼에는''태그에 지정된 텍스트 리소스가 표시됩니다. 이제 Blob 경로를 자세히 추적하고 Property Store Binary File 형식을 이해하려고 시도합니다. –
사실 지금까지는 파일 아이콘을 제외한 모든 응용 프로그램에서 Windows 탐색기 열에 아이콘이 표시되지 않았습니다. 심지어 OneDrive는 내 시스템에 아이콘 속성을 제공하지 않습니다. 아이콘 속성을 구현하는 것이 불가능할 수도 있습니다. 조사해 주셔서 대단히 감사합니다! –