출처 : http://surewin.kr/

컨텍스트 메뉴라는 것이 아주 편리한 기능이지만, 사용자가 설치하는 많은 응용 프로그램들은 컨텍스트 메뉴에 자리 하나를 얻기 위한 전쟁이라도 하는 것처럼 제각기 이를 설치하기에, 결국 그 중의 절반 정도는 사용치도 않는 것들로 가득차게 되는 것이 아주 난감할 것입니다.

오늘 이 기사에서는 이들 컨텍스트 메뉴 항목이 숨어있는 레지스트리 위치를 밝히고, 이들을 컴퓨터 도사적인 방법으로 그리고 덜 도사적인 방법으로 무효화하는 방법에 대하여 설명합니다.

어느 방법을 사용하건 간에 원하는 컨텍스트 메뉴 항목의 무효화가 가능할 것입니다.

image


레지스트리 조작으로 컨텍스트 메뉴 정리하기

컴퓨터광적인 방법으로 컨텍스트 메뉴를 정리하자면 아래와 같은 절차를 밟습니다.

불행하게도 컨텍스트 메뉴는 단일 레지스트리 분기점에 다 있는 것은 아닙니다.

운영자 주 : 아래 작업을 실제로 행하고자 한다면, 기사 중의 여러 레지스트리 키를 일일이 찾는 것이 상당히 성가신 일이므로 아래 링크의 방법을 참조합니다.

XP-[시작]-[실행]을 차례로 눌러 텍스트 입력창에 'regedit'를 타자한 후 엔터 키를 눌러 레지스트리 편집기를 기동합니다.

Vista-[시작]의 검색 텍스트 입력창에 'regedit'를 타자한 후 엔터 키를 눌러 레지스트리 편집기를 기동합니다.

다음의 레지스트리 분기점까지 찾아갑니다.

모든 파일과 폴더를 위한 컨텍스트 메뉴는 대부분 아래 열거하는 키에서 찾을 수 있습니다.

  • HKEY_CLASSES_ROOT\\*\\shell

  • HKEY_CLASSES_ROOT\\*\\shellex\\ContextMenuHandlers

  • HKEY_CLASSES_ROOT\\AllFileSystemObjects\\ShellEx

대신에 특정 폴더만을 위한 컨텍스트 메뉴 항목은 아래 키에서 찾을 수 있습니다.

  • HKEY_CLASSES_ROOT\\Directory\\shell

  • HKEY_CLASSES_ROOT\\Directory\\shellex\\ContextMenuHandlers

위에 열거한 것과 같이 각기 다른 레지스트리 분기 로케이션에서 컨텍스트 메뉴 항목을 찾을 수가 있을 뿐만 아니라 핸들링하는 방법도 각기 다르므로 각각의 방법을 계속 설명합니다.


Shell 항목 취급하기

예제의 그림에서와 같이 디렉토리 아래의 Shell 키를 열면 "Add to VLC media player and Play with VLC"란 항목을 볼 수 있습니다.

정상적인 Shell 키 아래에 있는 항목은 이를 찾아 처리하는 것은 보통 아주 쉽습니다.

image

이 항목들 중의 어느 하나를 숨기고자 한다면, 우측 창에서 Shift + 마우스 우클릭으로 새 문자열 값을 생성하여 그 이름을 "Extended"로 합니다.

image

사용자가 이 키를 삭제는 않고 무효화만하고 싶다면 아래 그림과 같이 새 문자열 값을 만들어 그 이름을 "LegacyDisable"로 합니다.

image

또, 사용자가 정말로 원한다면 모든 키를 삭제하여도 되지만, 이 경우는 이 분기점의 레지스트리 복사본을 [내보내기]로 작성하여 둘 것을 추천합니다.


Shellex 항목 취급하기

주의 깊게 위에서 열거한 키들을 살펴 보면 "Shell" 대신에 "Shellex"(Shell Extension)을 볼 수 있습니다.

이 형식의 키들은 위와는 다른 방법으로 치급하여야 합니다. 예를 들면 위에서 언급한 키들 중 아래를 주목합니다.

    HKEY_CLASSES_ROOT\\Directory\\shellex\\ContextMenuHandlers

이들 항목들은 좀 더 판독이 어렵습니다. 그러나, 보통은 좌측 창의 키 이름으로 항목을 추측할 수 있으며, 선택한 항목의 [기본값]의 값 앞머리에 몇 개의 대시(-)를 추가하는 방법으로 값을 변경하여 수정하는 것으로, 실제로 그 키 값을 삭제하지 않고서도 컨텍스트 메뉴를 무효로 할 수 있습니다.

예제에서는 좌측 창에서 "7-ZIP"를 선택한 후, [기본값]의 값 데이터의 앞머리에 "-"를 몇 추가하는 방법으로 이 메뉴 항목을 무효로 하였습니다.

image

결론적으로 처음 열거한 각 레지스트리 로케이션을 찾아 삭제를 원하는 메뉴 항목에 대응하는 키를 찾아 위에서 언급한 방법을 동원하여 그 메뉴를 무효로 설정하면 됩니다.


특정 폴더 타입 항목 취급하기

그렇게 흔하지는 않지만, 메뉴 항목이 특정의 파일 형식에 대한 레지스트리 키에 따로 위치하는 수가 있습니다. 이러한 경우, 우선 그 확장자를 위한 레지스트리 경로 HKEY_CLASSES_ROOT 아래에서 그 파일 확장자 키를 찾아야 합니다.

예를 들면, 사용자가 Excel(.exl) 문서에 관계되는 메뉴 항목을 삭제하려면 이 실제 키의 이름을 알려 주는 레지스트리 키를 찾기 위하여, 아래를 살펴야 찾을 수 있습니다.

    HKEY_CLASSES_ROOT\\.xls

image

이제 위에서 볼 수 있는 것과 같이, 실제 파일 형식은 "Excel.Sheet.8″이고, 그래서 이를 근거로 다음 레지스트리 키를 다시 찾습니다.

    HKEY_CLASSES_ROOT\\Excel.Sheet.8\\shell

image

이제 다음 단계로 위에서 하였던 방법과 똑 같은 방법으로 "Shell" 아래에서 무효로 설정하는 것(LegacyDisable and Extended)이 가능합니다.


쉬운 방법으로 컨텍스트 메뉴 정리하기

세세한 설명은 생략합니다.

첫째는 "Shell" 키 항목을 쉬운 인터페이스로 관리할 수 있는 "ShellMenuView"입니다.

삭제를 원하는 항목을 리스트에서 선택한 후에 도구 모음의 빨간 색 단추를 누르면 끝입니다.

실제로는 수동 레지스트리 방법 중의 삭제 대상 키에 대한 LegacyDisable 키를 생성하는 것으로 이를 실현하고 있습니다.

image

위 그림에서 선택한 항목이 깨끗하게 정리되었습니다.

image

둘째는 "Shellex" 키 즉, "Shell Extensions" 키에 해당하는 항목들을 취급하는 위대한 Nirsoft사의 ShellExView입니다.

사용 방법은 상동입니다.

image

위 두 가지 방법을 동원한  수 분간의 작업으로 말끔하게 정리된 컨텍스트 메뉴입니다.

image

소개하는 2가지 프로그램은 모든 Windows에 대응하여 이를 지원합니다.

다운로드 링크입니다.

기사 중의 그림은 기사출처의 것입니다. 



메시지가 03-19-2009 09:39 AM에 nompang에 의해 편집되었습니다.