강좌 / 팁

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

2025.04.04 15:55

오호라7 조회:889 추천:20

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

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

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

 

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

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

 

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

 

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

 

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 - - -
4617 소프트웨어| 마우스 기능 확장 프로그램(단축키, 매크로를 클릭으로 실행) [7] 오치땡 1734 10 05-15
4616 윈 도 우| 내부 네트워크 접속불량 일때 참고 자료 [5] xsw657 1758 6 05-11
4615 윈 도 우| 로컬 계정으로 Windows 11을 설치 하는 방법 [11] 참치회 2775 18 05-07
4614 기 타| 초급 및 고급 사진작가를 위한 실용적인 사진 구성 강좌 - ... [4] VᴇɴᴜꜱGɪ 1390 15 05-06
4613 기 타| 유튜브 화면에서 쇼츠(Shorts)영상 제거하기 [7] 해커스 3237 15 04-27
4612 소프트웨어| 윈도우 단축 명령어 실행 v2.5 [41] 무월 2737 101 04-25
4611 윈 도 우| 윈도우 설치 3대장 설치 속도 비교! [29] 무월 3050 59 04-24
4610 윈 도 우| Windows 11의 작업 표시줄에 앱 레이블을 표시하는 방법 VᴇɴᴜꜱGɪ 1298 1 04-23
4609 소프트웨어| Ventoy 명령줄 설치 프로그램 (스크립트) [8] VᴇɴᴜꜱGɪ 1527 20 04-20
4608 윈 도 우| 윈도우 만능 WIM 제작, Sysprep부터 WIM 캡처까지 한 번에! [49] 무월 2424 82 04-20
4607 소프트웨어| 드라이버 실행 런처 배치스크립트 [21] 무월 1316 41 04-19
4606 윈 도 우| 제목] 커스텀 윈도우 만들기 - 나만의 팁 [52] 시종일관 3467 82 04-14
4605 소프트웨어| 숨겨진 시스템 파일 보기 우클릭(추가) [10] sunshine 1548 30 04-13
4604 서버 / IT| winpe에서 edge 실행(최종) [18] sunshine 1490 39 04-05
4603 기 타| vhd, vhdx 마운트하는 가장 간단한 방법 [4] Nic네임 1587 17 04-04
» 윈 도 우| 컨텍스트 메뉴에 관련된 레지스트리 키 편집의 기초 [9] 오호라7 889 20 04-04
4601 기 타| [파일 목록 생성] 우클릭 메뉴 [19] sunshine 2256 49 03-30
4600 소프트웨어| WinPE에서 Aomei backupper 실행 [10] sunshine 1440 20 03-27
4599 기 타| [등록오류수정]스냅샷 차등백업 백업복구 마우스 우클릭으... [25] kanra 2726 67 03-21
4598 윈 도 우| 탐색기 트리창 정리 레지스트리 (재수정 2025.03.20) [9] 오호라7 3243 15 03-16
XE1.11.6 Layout1.4.8