Windows 파일/폴더에 대한 컨텍스트 메뉴 확장을 만들려고합니다. 나는 이미 많은 노력을했지만 아무 것도 나를 위해 일하지 않았다. 이미 32 비트 시스템에 대한 확장이 있지만 오래된 것입니다. 64 비트 시스템에서 C++을 사용하여 다시 만들고 싶습니다.C++ 셸 컨텍스트 메뉴 확장
이 항목은 내가 원했던 것과 가장 근접한 내용입니다. Klick 그러나 이것은 32 비트 시스템 용입니다. 의견을 읽은 후 &을 x64 용으로 빌드 할 수있었습니다.
내 64 비트 시스템에서 system32/regsvr32.exe를 사용하여 등록하면 성공적으로 등록되었음을 알립니다. 모든 레지스트리 항목이 올바르게 작성됩니다. 그러나 메뉴 항목이 나타나지 않습니다. 나는 아무 이유도 가지고 있지 않다 ...
누군가 나를 도울 수 있습니까? 원하는 경우 프로젝트를 업로드 할 수 있습니다.
UPDATE
나는 다음과 같은 것들이 위의 링크에서 원래 프로젝트를 사용하여 변경 : 내가 컴파일 couln't부터 "64"
2)에
가1) 설정 대상을
2.1) (가)에 stdafx.h에 포함하기 전에 내가 추가 : 그것은, 내가 다음 사항을 변경
#define _ATL_NO_UUIDOF
2.2) 여기 UINT_PTR하는 UINT 변경 : 모든 파일 형식에 apper해야 있도록
HRESULT CFSBankShellExtension::GetCommandString (
UINT_PTR idCmd,
UINT uFlags,
UINT* pwReserved,
LPSTR pszName,
UINT cchMax)
3) 나는 .RGS 파일에 *에 txtfile 변경되었습니다.
4) 나는 컴파일하고 당신이 날 도와 할수 없어 경우 x64 시스템에서 작동하는 템플릿을 업로드 할 수 있다면
, 그것은 멋진 것 등록 할 수 있었다. 에
첫 번째 단계는 찾아이다 방법. SysInternals procexp 도구를 사용하고 하단 창에서 DLL보기를 전환 해보십시오. –
거기 있어요! SimpleExt.dll을 검색하여 procexp에서도 찾았습니다. 그래서 ... 다음은? –
Visual Studio를 사용하고 있습니까? 프로젝트를로드하고 explorer.exe에 VS 디버거를 연결하고 확장 프로그램의 메서드에 중단 점을 설정합니다. 그런 다음 마우스 오른쪽 버튼을 클릭하여 함수가 실제로 호출되는지 확인하십시오. 그들이 부름을받은 경우, 단계별로 단계를 밟아 그들이 잘못되는 부분을 찾으십시오. –