Windows 탐색기에 폴더 용 컨텍스트 메뉴 항목을 추가하는 방법 [닫기]


100

레지스트리에 키를 추가하여 Windows 탐색기의 파일에 오른쪽 클릭 상황에 맞는 메뉴 항목을 추가하는 방법을 알아 냈습니다. 즉, Explorer에서 파일을 마우스 오른쪽 버튼으로 클릭하고 해당 파일에 대해 사용자 지정 앱을 실행할 수 있습니다.

폴더에 대해 똑같이하고 싶지만 (아직) 방법을 찾지 못했습니다. 사용자 정의 컨텍스트 메뉴 핸들러 작성 / 작성에 대한 기사를 보았지만 거기에 가지 않겠습니다.

여기 에서 계단식 컨텍스트 메뉴 항목을 바탕 화면과 탐색기의 "컴퓨터"에 추가하는 방법에 대한 기사를 찾았 지만 어떤 폴더에서도 작동하지 않습니다.

상황에 맞는 메뉴에 사용자 지정 앱을 추가하고 파일과 폴더 모두에서 작동하도록하고 싶습니다. 상황에 맞는 메뉴 처리기를 작성하지 않고이를 수행 할 수있는 방법이 있습니까?


파일 및 폴더에 대한 레지스트리를 통해이 작업을 수행하는 방법을 설명하는 아래 기사에서 솔루션을 찾았습니다.

다음 두 문서는 추가 정보와 옵션을 제공했습니다.


1
이 질문은 6 년 동안 열려 있었습니까?! 6 일 전에 누가 닫았습니까?
Andrew

StackOverflow에 대해 내가 싫어하는 유일한 점은 광대가 질문을 닫거나 질문을 주제에서 벗어난 것으로 표시하는 것입니다.
Michael

답변:


209

등록 편집기 ( regedit.exe)에서 다음을 찾습니다.

  • Windows 탐색기의 왼쪽 패널 또는 오른쪽 패널의 디렉토리 배경 에서 폴더마우스 오른쪽 버튼으로 클릭 하기위한 컨텍스트 메뉴 :

    1. HKEY_CLASSES_ROOT\Directory\Background\shell 관리자 인 경우
    2. HKEY_CURRENT_USER\Software\Classes\directory\Background\shell 일반 사용자 인 경우
  • Windows 탐색기의 오른쪽 패널에서 폴더를 마우스 오른쪽 버튼으로 클릭 하기위한 컨텍스트 메뉴 :

    1. HKEY_CLASSES_ROOT\Directory\shell 관리자 인 경우
    2. HKEY_CURRENT_USER\Software\Classes\directory\shell 일반 사용자 인 경우
  • 모든 파일에 대한 컨텍스트 메뉴 :

    1. HKEY_CLASSES_ROOT\*\shell 관리자 인 경우
    2. HKEY_CURRENT_USER\Software\Classes\*\shell 일반 사용자 인 경우

모든 경우에:

  1. 아래에 새 키를 추가 shell하고 컨텍스트 메뉴 항목의 이름을 지정합니다.
  2. 이 키 안에 command(필수 이름) 이라는 새 키를 추가하십시오.
  3. 편집 default의 특성 command에는 myprogrampath\path\path\executable.exe %1사용자 정의 프로그램으로 선택한 파일의 파일 경로와 이름을 전달하는

더 많은 사용자 정의 :

  • 아이콘 추가 : icon아이콘 리소스 경로와 일치하는 값으로 1 단계에서 생성 한 키의 이름이 지정된 문자열 값을 추가합니다 . 사용할 아이콘을 지정하기 위해 정수 인수를 제공 할 수도 있습니다. 예:%SystemRoot%\System32\shell32.dll,3
  • Shift- 클릭시에만 표시 : Extended1 단계에서 만든 키에 대해 이름이 지정된 빈 문자열 값을 추가합니다.
  • 메뉴 항목 레이블 사용자 지정 : 1 단계에서 생성 한 키의 기본값 값 변경
  • 메뉴 항목 위치 변경 : 다음 Position중 하나로 이름이 지정된 문자열 값을 추가합니다 . Top,Bottom

2
HKEY_CLASSES_ROOT\Directory\Background\shell디렉토리의 배경에서 오른쪽 클릭에만 영향을 줄 수 있음
Amos

21
"%1"경로에 공백 이 있는 경우 여야 합니다.
Blrp

3
바로. 새 탐색기 창을 열 필요도 없습니다. 마우스 오른쪽 버튼을 클릭하면 새 설정이로드됩니다.
jumpjack

1
환경 변수가에서 작동하지 않는 것 같 Command습니까?
Jack Lu

14
내 이전 의견에 대해서 :이 문제는 대체하여 고정 할 수 있습니다 %1%V.
Michael Herrmann

10

나는 돌아가서이 질문에 대해 구체적으로 많이 언급되지 않았기 때문에 다른 주제 에서도 이에 대해 대답했습니다 .

가장 간단한 방법은 "AppliesTo"라는 키에 문자열 값을 추가하고 값을 "under : {path}"로 설정하는 것입니다.

이 예에서는 T 드라이브 만보고 싶으므로 문자열 값은 "AppliesTo": "under : T :"입니다.

C #에서는 다음과 같이 쉽게 수행 할 수 있습니다.

RegistryKey _key = Registry.ClassesRoot.OpenSubKey("Folder\\Shell", true);
RegistryKey newkey = _key.CreateSubKey("My Menu Item");
newkey.SetValue("AppliesTo", "under:T:");

RegistryKey subNewkey = newkey.CreateSubKey("Command");
subNewkey.SetValue("", "C:\\yourApplication.exe");
subNewkey.Close();

newkey.Close();
_key.Close();

2
C #을 통해이 작업을 수행하기위한 샘플 코드를 제공해 주셔서 감사합니다. 앱에서 빠르게이 작업을 수행하려는 모든 사용자에게 작은 도움이됩니다.
Ayo I

2
불행히도 "AppliesTo"값은 "Directory \ Background"항목에 영향을주지 않는 것 같습니다. 폴더의 배경을 마우스 오른쪽 버튼으로 클릭 할 때 유사한 제한을 수행 할 수있는 방법을 아는 사람이 있습니까?
cl0rkster

6

더 깨끗하고 쉽고 빠른 솔루션을 찾았습니다. 텍스트 파일을 만들고, 이러한 내용으로 채우고, 필요에 맞게 업데이트하고, .reg 접미사로 저장하고, 실행합니다 (레지스트리의 사용자 부분에 액세스하기 때문에 관리자 권한이 필요하지 않음). ) :

Windows Registry Editor Version 5.00

; Setup context menu item for click on right panel:
[HKEY_CURRENT_USER\Software\Classes\directory\Background\shell\MenuItemNameBackground\command]
@="C:\\yourpath\\executable.exe \"%1\""

; Optional: specify an icon for the item:   
; HKEY_CURRENT_USER\Software\Classes\directory\Background\shell\MenuItemNameBackground]
;"icon"="C:\\yourpath\\appicon.ico"

; Optional: specify a position in the menu
; HKEY_CURRENT_USER\Software\Classes\directory\Background\shell\MenuItemNameBackground]
;"position"="Bottom"

; -------------------------------------------------------------------------------------

; Setup context menu item for click on folders tree item:
[HKEY_CURRENT_USER\Software\Classes\directory\shell\MenuItemNamePanel\command]
@="C:\\yourpath\\executable.exe \"%1\""

; Optional: specify an icon for the item:   
; [HKEY_CURRENT_USER\Software\Classes\directory\shell\MenuItemNamePanel]
;"icon"="C:\\yourpath\\appicon.ico"

; Optional: specify a position in the menu
; [HKEY_CURRENT_USER\Software\Classes\directory\shell\MenuItemNamePanel]
;"position"="Top"

이 방법으로 구성을 백업 할 수도 있습니다. .reg 파일을 안전한 곳에 저장하기 만하면됩니다. 파일을 시작한 후 수동으로 레지스트리를 편집하는 경우 마우스 오른쪽 버튼을 클릭하고 "내보내기"를 선택합니다.

경로에서 이중 백 스페이스를주의하십시오 : \\


1

내가 실제로 작동하는 유일한 해결책은 /superuser/1097054/shell-context-menu-registry-extension-doesnt-work-when-default-program-is-other

HKEY_CLASSES_ROOT \ SystemFileAssociations \ your.extension \ shell \ command에 키 추가 수행하려는 명령으로 마지막 키를 수정하십시오.

내 목적을 위해 그것은 :

"C:\Program Files (x86)\GPSBabel\gpsbabel.exe" -r -i gpx -f "%1" -x simplify,count=1000 -o gpx -F "%1.gpx"

그것을 내 보내면 .reg를 얻습니다.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\SystemFileAssociations\.gpx\shell\Simplify gpx\command]
@="\"C:\\Program Files (x86)\\GPSBabel\\gpsbabel.exe\" -r -i gpx -f \"%1\" -x simplify,count=1000 -o gpx -F \"%1.gpx\""

1

[관리자 권한으로 실행] 명령 프롬프트를 열고이 명령을 실행합니다.

reg add "HKEY_CLASSES_ROOT\Directory\shell\Refi2\command" /d "powershell.exe -noexit -command Set-Location -literalPath '%V'"
  • -d : 실행할 값 [앱 이름 exe].
  • -v : 명령 키 안에 새 하위 키를 만듭니다.
  • -f : 이미 존재하는 경우 키를 강제로 무시합니다.
  • powershell.exe -noexit -command Set-Location -literalPath '% V' 대신 exe의 경로를 지정할 수 있습니다 .

더 많은 기능에 대한 자세한 내용은 다음을 실행하십시오.

reg add /?
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.