사용자 지정 파일 형식에 대한 Windows 탐색기 축소판 핸들러를 작성하려고합니다. 미리보기 창에서 제대로 작동하지만 축소판 이미지가 제대로 작동하지 않는 문제가 있습니다.썸네일 공급자가 작동하지 않습니다.
Windows는 DllGetClassObject 진입 점을 호출하려하지 않은 것처럼 보입니다.
계속하기 전에 Windows 7과 관리되지 않는 C++를 사용하고 있습니다.
HKCR\CLSID\<my guid>
HKCR\CLSID\<my guid>\InprocServer32 (default value = path to my DLL)
HKCR\CLSID\<my guid>\InprocServer32\ThreadingModel (value = "Apartment")
HKCR\.<my ext>\shellex\{E357FCCD-A995-4576-B01F-234630154E96} (value = my guid)
나는 또한 승리 SDK 샘플을 사용하여 시도했다, 그것은 작동하지 않습니다
나는 레지스트리에 다음 값을 등록했습니다. 또한이 기사의 샘플 프로젝트 (http://www.codemonkeycodes.com/2010/01/11/ithumbnailprovider-re-visited/)가 작동하지 않습니다.
저는 쉘 프로그래밍에 익숙하지 않으므로 이것을 디버깅하는 가장 좋은 방법은 아닙니다. explorer.exe에 디버거를 연결하려고했지만 작동하지 않는 것 같습니다 (중단 점이 비활성화되고 OutputDebugStrings가 출력 창에 표시되지 않습니다). 필자는 셸 디버깅을 위해 WinSDK 문서에 설명 된대로 레지스트리에서 "DesktopProcess"설정을 시도했지만 작업 관리자에서 하나의 explorer.exe 만 볼 수 있습니다 - 그래서 "할 수 있습니다"라는 이유가 될 수 있습니다 그것을 디버깅 ??
위의 사항에 대한 도움을 주시면 대단히 감사하겠습니다.
감사합니다. Dan.
안녕하세요. x64 Windows7을 사용하고 있습니다. 나를 위해 작동하지 않는 샘플뿐 아니라 MS 샘플과 내 자체 코드도 모두 작동하지 않습니다. 다른 것을 생각해 보았습니다. 필자는 Windows 셸 프로그래밍에 익숙하지 않았기 때문에 (배경은 응용 프로그램 및 게임 개발과 관련되어 있음), 디버깅을위한 최선의 방법을 잘 모릅니다. explorer.exe에 내 디버거 (MS VS 2005)를 연결하려고 시도했지만 추적 로그가 표시되지 않습니다. – Dan
어리석은 질문이며, 당신이 이것을 간과하지 않았 음을 확신하지만 regsrv32의 64 비트 버전으로 DLL을 등록 했습니까? – Jeremy
네, \ windows \ system32 \ regsvr32.exe에 명시 적으로 입력했습니다. Windows에서 내 DllGetClassObject 함수를 호출해야하는 시점을 알고 계십니까? 거기에 도달했는지 확인하는 것이 유용 할 것입니다. – Dan