압축을 풀고 폴더에 놓은 폴더를 디스크의 백업 폴더에 넣는 응용 프로그램을 만들었습니다. 컨텍스트 메뉴를 통해 폴더의 전체 경로 매개 변수로 시작할 수 있기를 원합니다.
응용 프로그램을 모든 폴더의 상황에 맞는 메뉴에 추가하고 명령 줄에서 폴더의 경로를 매개 변수로 사용하려면 어떻게합니까?
답변
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Folder\shell\myapp]
@="&MyApp"
"Icon"="shell32.dll,43"
"MultiSelectModel"="Single"
[HKEY_CLASSES_ROOT\Folder\shell\myapp\command]
@="C:\\MyApp.bat \"%1\""
위의 .REG 파일로 저장되고 레지스트리로 가져 오면 앱이 실행되고 선택한 폴더의 전체 경로가 첫 번째 인수로 전달됩니다. 테스트를위한 MyApp.bat 의 내용은 다음과 같습니다 .
@echo off
for %%a in (%*) do echo Argument = %%a
pause
여러 폴더를 선택하고 마우스 오른쪽 버튼을 클릭해도 상황에 맞는 메뉴 항목을 표시 하려면 MultiSelectModel 줄을 제거 하십시오.
그러나 이것은 수동 / 해킹 방법입니다. 바로 가기 메뉴 처리기 만들기 MSDN 문서 를 읽고 StackOverflow에서 앱의 설치 관리자가 올바른 컨텍스트 메뉴 처리기로 앱을 올바르게 등록하는 방법에 대해 문의 하는 것이 좋습니다 .