윈 도 우 컨텍스트 메뉴에 관련된 레지스트리 키 편집의 기초
2025.04.04 15:55
윈포 강좌/팁 게시판에 컨텍스트 메뉴에 대해 정리된 글이 없어서 올려봅니다.
경험칙에 의존해 작업하다가 개념을 정립해 보고자 만든 파일 내용에서 활용도 높지 않은 어려운 부분은 빼고,
쉬운 이해를 위해 주석을 추가하여 요약하였습니다.
혹시 설명이 어렵거나 잘못 설명된 부분이 있다면 댓글로 알려주세요.
-------------------------------------------------------------------------------------
가장 먼저 알아야 할 것은, 항상 작업 전에 작업할 키의 백업을 반드시 해두어야 한다는 점입니다.
[레지스트리 기본 루트 키 대한 이해]
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 특정 상황에 메뉴 숨김 처리 (값 없음, 이름 유무로 판단함)
--------------------------------------------------------------------------------------
이 정도만 알면 웯만한 작업은 할 수 있습니다.
가장 중요한 것은 작업 전 백업(복구 용도)와 작업 후 백업(재설정 용도) 등 백업의 습관입니다.
댓글 [9]
-
수리수리 2025.04.04 18:44
-
시종일관 2025.04.04 20:29
좋은 강좌 감사합니다 ^^
-
kanra 2025.04.04 21:17
오~ 안그래도 주먹구구로 하고 있었는데, 확실한 정리 감사합니다. ~
-
와로 2025.04.05 00:36
깔끔하게 정리하셨네요. 수고하셨습니다
우클릭에 너무 많은게 붙으면 지저분해 보이기도 하고 가독성이 떨어지는데
카테고리별로 메뉴들을 묶던지,자주 사용하지 않는 메뉴는 shift키를 눌러야 표시되는
Extended 값을 적용하면 좀 낫더군요.
폴더와 파일에 대응하는 컨텍스트 메뉴는 보내기(SendTo) 메뉴에 보내는게 깔끔합니다.
-
오호라7 2025.04.05 05:55
그렇죠. 쓰다보면 컨텍스트 메뉴도 어느세 한페이지를 넘어가서 결국 레지스트리 키를 정리하게 되는데,
한두번 만지다 윈도우 레지가 엉켜서 문제생기기도 하고 백업 안해서 윈도우 새로 깔아야 하는 상황도 생기다보면
노하우도 하나둘씩 늘어나게 되지요.
SendTo 이야기 하시니까 오피스 관련 파일이 사라져서 검색으로 원인을 찾아 배우고 해당 폴더에 파일 만들어 넣어주던 추억이 떠오르네요.
내가 귀찮다고 체계적으로 학습하지 않아 오랜 세월 동안 겪었던 실수들을 다른 분들은 적게 경험하길 바랄 뿐입니다 ^^;
-
타천사둘리 2025.04.05 13:30
보내기 메뉴는 어떤 건가요?
아하, 이제 자세히 봤습니다.
SendTo 네요. 감사합니다. 꾸~~~벅
-
상발이 2025.04.05 10:27
수고하셨습니다.
-
알리아스 2025.04.13 19:37
좋은 정보네요 감사합니다 -
초심겸손 2025.04.14 14:03
멋진강좌 감사 합니다
번호 | 제목 | 글쓴이 | 조회 | 추천 | 등록일 |
---|---|---|---|---|---|
[공지] | 강좌 작성간 참고해주세요 | gooddew | - | - | - |
4616 | 윈 도 우| Windows 11의 작업 표시줄에 앱 레이블을 표시하는 방법 | VᴇɴᴜꜱGɪ | 366 | 0 | 04-23 |
4615 | 소프트웨어| Ventoy 명령줄 설치 프로그램 (스크립트) [6] | VᴇɴᴜꜱGɪ | 976 | 19 | 04-20 |
4614 |
윈 도 우|
윈도우 만능 WIM 제작, Sysprep부터 WIM 캡처까지 한 번에! [41] ![]() |
무월 | 1493 | 73 | 04-20 |
4613 |
소프트웨어|
드라이버 실행 런처 배치스크립트 [21] ![]() |
무월 | 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 |
레지 공부가
감사합니다^^