강좌 / 팁

윈 도 우 컨텍스트 메뉴에 관련된 레지스트리 키 편집의 기초

2025.04.04 15:55

오호라7 조회:792 추천:19

윈포 강좌/팁 게시판에 컨텍스트 메뉴에 대해 정리된 글이 없어서 올려봅니다.

경험칙에 의존해 작업하다가 개념을 정립해 보고자 만든 파일 내용에서 활용도 높지 않은 어려운 부분은 빼고,

쉬운 이해를 위해 주석을 추가하여 요약하였습니다.

 

혹시 설명이 어렵거나 잘못 설명된 부분이 있다면 댓글로 알려주세요.

-------------------------------------------------------------------------------------

 

가장 먼저 알아야 할 것은, 항상 작업 전에 작업할 키의 백업을 반드시 해두어야 한다는 점입니다.

 

[레지스트리 기본 루트 키 대한 이해]

 

HKEY_CURRENT_USER  (HKCU)     :: 현재 사용자 설정, 1순위 적용. 'HKEY_USERS\<현재 계정 SID>'의 링크.

HKEY_LOCAL_MACHINE (HKLM)    :: 시스템 전역 설정, 2순위 적용. 관리자 권한. 1순위인 HKCU 경로에 같은 하위 키가 있으면 무효화 됨.

                                                                    (예외: 서비스, 그룹 정책같은 시스템 전역에 미치는 키는 이 경로만 유효함.

                                                                     이런 키를 수동으로 HKCU 경로에 만들어줘도 저장은 되지만 적용되지 않음)

HKEY_CLASSES_ROOT   (HKCR)     :: HKCU\SOFTWARE\Classes와 HKLM\SOFTWARE\Classes 키의 가상 통합 키.

                                                                    이 키는 관리자 계정으로 편집시 HKLM 경로로 저장되고, 사용자 계정이면 HKCU 경로로 저장됨.

 

HKEY_CURRENT_CONFIG (HKCC)  :: 디스플레이, 장치 드라이버 설정 등의 정보를 담은 현재 하드웨어 프로필

                                                                    HKLM\SYSTEM\CurrentControlSet\Hardware Profiles\Current의 링크.

HKEY_USERS (HKU)        :: 전체 사용자 계정 프로필 저장, 편집시 사용자 SID를 알아야 하는 불편이 있어 링크 경로인 HKCU 키를 통해 편집.

                                                   상황에 따라 관리자 권한 필요 (내 계정 이외의 다른 계정 작업시)

 

[컨텍스트 메뉴 편집시 알아야 할 사항]

 

1. 컨텍스트 메뉴와 관련된 키는 HKCU\SOFTWARE\Classes, HKLM\SOFTWARE\Classes, HKCR 경로에서 작업할 수 있습니다.

     이 중에  HKCR은 가상 통합 경로이며, 실제로는 권한에 따라 HKCU 또는 HKLM 경로에 저장됩니다.

     따라서 동작 오류나 키 꼬임을 방지하기 위해 HKCR 경로에서 레지스트리 추가/수정/삭제 작업은 권장하지 않습니다.

 

2. HKLM 경로의 키를 수정하더라도, HKCU 경로에 같은 키가 있다면 HKCU 키가 우선 적용되고, HKLM 키는 무시됩니다.

 

3. 추가 작업은 아래 리스트의 HKCU 경로 키 목록에서 목적에 맞는 키의 하위 키를 만들어 작업합니다.

     수정 작업은 1순위인 HKCU\SOFTWARE\Classes 경로에서 해당 키를 찾고, 키가 없으면 HKLM\SOFTWARE\Classes에서 편집합니다.

     삭제 작업은 두 경로 모두에 키가 있을 수 있으므로, 양쪽 키를 모두 삭제해야 완전히 제거됩니다.

   

4. CLSID 경로의 키 등 일부 설정은 즉시 반영되지 않으며, 로그아웃 또는 재부팅해야 적용됩니다.

 

이 정도가 기본적으로 알아야 할 사항입니다.

 

누군가 만든 reg 파일이 '왜 난 적용이 안되나' 싶었던 분들은, 그 파일을 열어서

HKCR로 시작하면 HKCU\SOFTWARE\Classes로 수정하고, HKLM으로 시작하면 HKCU로 수정하면 해결될 수 있습니다.

 

 

[컨텍스트 메뉴와 관계되는 키들]

 

HKCU\Software\Classes\DesktopBackground\Shell         :: ★ 바탕화면 빈 공간

HKCU\Software\Classes\Drive\shell                                     :: ⑤ 드라이브

HKCU\Software\Classes\Directory\shell                              :: ④ 일반 폴더 (라이브러리,제어판,네트워크 안의 특수 폴더들은 제외)

HKCU\Software\Classes\Directory\Background\shell      :: ★ 탐색기 우측창 빈 공간

HKCU\Software\Classes\*\shell                                             :: ③ 모든 파일

HKCU\Software\Classes\<ProgID>\shell                               :: ② 그롭별 확장자. ProgID 통해 지정 (개별 확장자보다 권장)

                                                                              <ProgID>는 HKLM\SOFTWARE\Classes와 HKCU\Software\Classes 경로에

                                                                                 txtfile 처럼 확장자+file 이름의 키에 ProgID가 정의되어 있음.

HKCU\SOFTWARE\Classes\<.확장자>\shell                           :: ① 개별 확장자

 

위 리스트가 주로 컨텍스트 메뉴 작업을 할 때 일반적으로 활용하는 키들입니다.

이 외에도 특정 상황에서 컨텍스트 메뉴를 만들 수 있는 키들은 더 있지만 활용가치가 높지 않고 학습 난이도만 높아져서 생략합니다.

 

위 리스트의 설명에 붙은 '숫자'와 '★'는 2개 경로 이상의 동일한 이름의 하위 키가 컨텍스트 메뉴 표시 조건을 충족할 때 처리 방법 표시입니다.

설명에 있는 '숫자'는 우선 순위이며, 다른 경로의 하위 키와 이름 중복인 경우 후 순위는 무시되며 선순위 키 1개만 표시됩니다.

설명에 있는 '★'는 우선 순위가 없으며, 다른 경로의 하위 키와 이름이 중복되면 2개가 표시될 수 있습니다.

 

예를 들면 Drive\shell과 Directory\shell 경로는 사용자 입장에선 달라보여도 윈도우 시스템 내부에서는 조건에 따라 통합 처리될 수 있습니다.

같은 기능의 컨텍스트 메뉴인데 2개 표시되면 하나를 삭제해야 하며, 다른 기능인데 표시가 안되면 키 이름을 달리 해야합니다.

 

위의 경로의 하위 키들은 다음 기본 형식을 갖습니다. (reg 파일 형식)

 

예제 1: "메모장으로 열기" 메뉴 추가

--------------------------------------------------------------------------------------

Windows Registry Editor Version 5.00

 

[HKEY_CURRENT_USER\Software\Classes\txtfile\shell\OpenNotepad]

@="메모장으로 열기"

Icon="notepad.exe"

 

[HKEY_CURRENT_USER\Software\Classes\txtfile\shell\OpenNotepad\command]

@="notepad.exe \"%1\""

--------------------------------------------------------------------------------------

 

예제 2: 바탕화면 우클릭 메뉴에 "명령 프롬프트 열기" 추가

--------------------------------------------------------------------------------------

Windows Registry Editor Version 5.00

 

[HKEY_CURRENT_USER\Software\Classes\DesktopBackground\Shell\OpenCMD]

@="명령 프롬프트 열기"

Icon="cmd.exe"

 

[HKEY_CURRENT_USER\Software\Classes\DesktopBackground\Shell\OpenCMD\command]

@="cmd.exe /k cd %V"

--------------------------------------------------------------------------------------

 

다음은 컨텍스트 메뉴 키에 사용할 수 있는 데이터 이름과 역할 및 데이터 값 예시입니다.

--------------------------------------------------------------------------------------

값 이름                         역할                                                  예시 (형식: 문자열값)

@ (기본값)                   메뉴에 표시될 이름                            "메모장으로 열기"

Icon                             메뉴 아이콘 지정                               "notepad.exe" 또는 "C:\(경로)\notepad.exe,1"

MUIVerb                      로컬라이즈된 표시                             이름(다국어 지원) "@shell32.dll,-22022"

SubCommands           서브 메뉴 명령 연결                           "MyApp.Open;MyApp.Edit"

Position                       메뉴 위치 조정                                   "Top" 또는 "Bottom"

SeparatorBefore         메뉴 앞에 구분선 추가                         "1"

SeparatorAfter            메뉴 뒤에 구분선 추가                         "1"

Extended                     Shift+우클릭 시에만 보이도록 설정      (값 없음, 이름 유무로 판단함)

Suppressed                특정 상황에 메뉴 숨김 처리                   (값 없음, 이름 유무로 판단함)

--------------------------------------------------------------------------------------

 

이 정도만 알면 웯만한 작업은 할 수 있습니다.

가장 중요한 것은 작업 전 백업(복구 용도)와 작업 후 백업(재설정 용도) 등 백업의 습관입니다.

 
번호 제목 글쓴이 조회 추천 등록일
[공지] 강좌 작성간 참고해주세요 gooddew - - -
4616 윈 도 우| Windows 11의 작업 표시줄에 앱 레이블을 표시하는 방법 VᴇɴᴜꜱGɪ 366 0 04-23
4615 소프트웨어| Ventoy 명령줄 설치 프로그램 (스크립트) [6] VᴇɴᴜꜱGɪ 976 19 04-20
4614 윈 도 우| 윈도우 만능 WIM 제작, Sysprep부터 WIM 캡처까지 한 번에! [41] update 무월 1493 73 04-20
4613 소프트웨어| 드라이버 실행 런처 배치스크립트 [21] update 무월 823 39 04-19
4612 윈 도 우| 제목] 커스텀 윈도우 만들기 - 나만의 팁 [52] 시종일관 2917 79 04-14
4611 소프트웨어| 숨겨진 시스템 파일 보기 우클릭(추가) [10] sunshine 1295 29 04-13
4610 서버 / IT| winpe에서 edge 실행(추가2) [18] sunshine 1331 39 04-05
4609 기 타| vhd, vhdx 마운트하는 가장 간단한 방법 [4] Nic네임 1403 17 04-04
» 윈 도 우| 컨텍스트 메뉴에 관련된 레지스트리 키 편집의 기초 [9] 오호라7 792 19 04-04
4607 기 타| [파일 목록 생성] 우클릭 메뉴 [19] sunshine 2068 48 03-30
4606 소프트웨어| WinPE에서 Aomei backupper 실행 [10] sunshine 1315 20 03-27
4605 기 타| [등록오류수정]스냅샷 차등백업 백업복구 마우스 우클릭으... [25] kanra 2570 66 03-21
4604 윈 도 우| 탐색기 트리창 정리 레지스트리 (재수정 2025.03.20) [9] 오호라7 3119 15 03-16
4603 소프트웨어| PC 카카오톡 광고 제거 1.0.0.13 테스트 버전 [11] 큰돌 2245 30 03-15
4602 윈 도 우| [정보]Wimboot용 Wim생성과 VHD연결의 장점 [11] kanra 1805 32 03-14
4601 기 타| [정식배포](오류백신수정)실사용컴에서 Wimboot용 Wim생성 ... [37] kanra 2943 61 03-14
4600 윈 도 우| Wi-Fi 자동 연결 배치파일 만들기 [5] 타천사둘리 1735 11 03-13
4599 윈 도 우| snapnative.exe 나름 있어 보인다. 코코당 850 0 03-11
4598 윈 도 우| F8 F* 누르기 물론 다른 컴은 키가 다르겟지요. [1] 코코당 1150 2 03-09
4597 소프트웨어| PC 카카오톡 광고 제거 [19] 큰돌 2186 24 03-09
XE1.11.6 Layout1.4.8