다음을 통해 공유


클라이언트 형식으로 프로그램 등록

이 항목에서는 브라우저, 전자 메일, 미디어 재생, 인스턴트 메시징 또는 Java용 가상 머신과 같은 클라이언트 유형 중 하나로 Windows 레지스트리에 프로그램을 등록하는 방법을 설명합니다.

참고 항목

이 정보는 다음 운영 체제에 적용됩니다.

  • Windows 2000 SP3(서비스 팩 3)
  • Windows 2000 SP4(서비스 팩 4)
  • Windows XP SP1(서비스 팩 1)
  • Windows XP SP2(서비스 팩 2)
  • Windows XP SP3(서비스 팩 3)
  • Windows Server 2003
  • Windows Vista
  • Windows Vista SP1(서비스 팩 1)
  • Windows 8

 

이 항목은 다음과 같은 섹션으로 구성됩니다.

이 항목에서는 프로그램을 특정 클라이언트 유형으로 등록하는 방법에 대한 기존 설명서를 확장합니다. 해당 설명서에 대한 링크는 관련 항목 섹션을 참조하세요.

모든 클라이언트 형식에 대한 일반 등록 요소

프로그램을 클라이언트 유형으로 등록할 때 대부분의 레지스트리 항목은 클라이언트 유형에 관계없이 동일합니다. 그러나 일부 레지스트리 항목은 클라이언트 유형과 관련이 있으며 특정 클라이언트 유형에 대한 등록 요소 섹션에 나와 있습니다.

이 섹션에서는 다음 항목에 대해 설명합니다.

참고 항목

이 항목 전체에서 기울임꼴로 지정된 하위 키 이름은 사용자 정의 하위 키 이름 또는 가능한 값 집합의 자리 표시자입니다. 예제 이름이 있는 전체 예제는 전체 샘플 등록 섹션에 제공됩니다.

 

모든 클라이언트 유형 등록 정보는 다음 하위 키 아래에 저장됩니다.

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName

ClientTypeName 은 다음 하위 키 이름 중 하나입니다.

  • StartMenuInternet(브라우저용)
  • 메일(전자 메일)
  • 미디어(미디어 재생용)
  • 메신저 대화(인스턴트 메시징용)
  • JavaVM(Java용 가상 머신의 경우)

이 항목 전체에서 Litware Inc.의 "Lit View"라는 가상의 컴퓨터 프로그램에 대한 참조와 Litview.exe라는 실행 파일을 기록해 둡니다. 이 가상 프로그램은 설명 목적으로 필요에 따라 인스턴트 메신저, 브라우저 또는 다른 유형의 클라이언트 프로그램으로 서로 교환적으로 사용됩니다.

정식 이름 선택

공급업체는 프로그램의 정식 이름을 선택해야 합니다. 정식 이름은 사용자에게 표시되지 않으므로 지역화할 필요가 없습니다. 유일한 목적은 프로그램을 식별하는 데 사용할 수 있는 고유한 문자열을 제공하는 것입니다. 일반적으로 프로그램의 영어 이름과 동일하지만 이는 단지 규칙일 뿐입니다.

브라우저 이외의 클라이언트 형식의 경우 정식 이름은 모든 문자열일 수 있습니다. 다른 공급업체에서 사용할 수 없는 고유한 이름을 선택합니다.

브라우저 클라이언트의 경우 정식 이름은 연결된 실행 파일의 확장명을 포함한 이름이어야 합니다. 예를 들어 "Litview.exe"입니다.

정식 이름의 몇 가지 예는 다음과 같습니다.

  • Iexplore.exe(브라우저)
  • Windows 메일(전자 메일)
  • Windows 미디어 플레이어(미디어)
  • Windows Messenger(인스턴트 메시징)

여기에 표시된 대로 하위 키를 만들어 정식 이름을 등록합니다. 하위 키의 이름은 정식 이름입니다. 해당 프로그램 등록과 관련된 모든 정보는 이 하위 키 아래에 존재합니다.

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName

프로그램의 표시 이름 등록

등록의 다음 단계는 프로그램의 표시 이름을 지정하는 것입니다. 여기에 표시된 대로 정식 이름 키 아래에 값으로 제공됩니다. CanonicalNameClientTypeName은 키의 실제 이름이 아니라 조명 보기와 같은 실제 이름의 자리 표시자만 확인합니다.

참고 항목

Windows 8을 기준으로 SPAD(프로그램 액세스 및 컴퓨터 기본값 설정)기본 프로그램에 등록하는 데 사용되는 이름은 SPAD 변경 내용이 기본 프로그램 등록을 트리거하기 위해 일치해야 합니다.

 

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName
               LocalizedString = @FilePath,-StringID

LocalizedString 값은 REG_SZ 문자열이며 "at" 기호(@), .dll 또는 .exe 파일의 전체 경로, 쉼표, 빼기 기호 및 10진수 정수로 구성됩니다. 10진수 정수는 .dll 또는 .exe 파일에 포함된 문자열 리소스의 ID로, 이 값은 이 클라이언트의 이름으로 사용자에게 표시되어야 합니다. 파일 경로에 공백이 포함되어 있더라도 따옴표가 필요하지 않습니다.

이러한 방식으로 표시 이름 문자열을 등록하면 여러 언어에 동일한 등록을 사용할 수 있습니다. 각 언어 설치는 동일한 리소스 ID에 저장된 표시 이름을 사용하여 다른 리소스 파일을 제공합니다.

다음 예제에서는 가상의 Lit View 인스턴트 메시징 프로그램에 대한 등록을 보여줍니다. 인스턴트 메시징 프로그램이므로 CanonicalName 하위 키(이 경우 Lit View)는 IM 하위 키 아래에 저장됩니다.

HKEY_LOCAL_MACHINE
   Software
      Clients
         IM
            Lit View
               (Default) = Lit View
               LocalizedString = @C:\Program Files\LitwareInc\ResourceDLL.dll,-123

(기본값) 항목을 클라이언트의 표시 이름의 보조 선언으로 사용합니다. LocalizedString이 없으면 (기본값) 값이 대신 사용됩니다. 이는 모든 클라이언트 유형(인터넷 브라우저, 전자 메일 브라우저, 인스턴트 메신저 및 미디어 플레이어)에서 작동합니다. Internet Explorer 클라이언트 레지스트리 레이아웃과의 이전 버전과의 호환성을 위해 전자 메일 프로그램에서 CanonicalName 하위 키의 (기본값) 값을 현재 설치된 언어로 클라이언트의 표시 이름으로 설정해야 합니다.

프로그램 아이콘 등록

참고 항목

이 섹션은 Windows 2000에는 적용되지 않습니다.

 

기본적으로 Windows XP 및 Windows Vista 시작 메뉴의 위쪽 섹션에는 인터넷전자 메일 아이콘이 포함됩니다. 이러한 아이콘은 Windows 7 이상에 없습니다. 브라우저 및 전자 메일 클라이언트의 경우 프로그램이 클라이언트 유형의 기본값으로 할당되면 해당 시작 메뉴 항목에 대해 해당 프로그램의 등록된 아이콘이 표시됩니다.

브라우저 및 전자 메일 클라이언트에는 프로그램 아이콘을 등록해야 합니다. Java 클라이언트 유형에 대한 미디어 재생, 인스턴트 메시징 또는 가상 머신에 대한 아이콘을 등록하는 것은 선택 사항이며, 이러한 클라이언트 유형에 대해 등록된 아이콘은 현재 Windows에서 사용되지 않으며 Windows XP 또는 Windows Vista 시작 메뉴의 위쪽 섹션에 표시되지 않습니다.

클라이언트 프로그램에 대한 아이콘을 등록하려면 여기에 표시된 대로 기본값으로 DefaultIcon 하위 키를 추가합니다.

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName
               DefaultIcon
                  (Default) = FilePath,IconIndex

FilePath 값은 아이콘이 포함된 파일의 전체 경로입니다. 이 경로에는 공백이 포함되어 있더라도 따옴표가 필요하지 않습니다.

IconIndex 값은 다음과 같이 해석됩니다.

  • IconIndex가 양수인 경우 이 숫자는 파일에 저장된 0부터 시작하는 아이콘 배열의 인덱스로 사용됩니다. 예를 들어 IconIndex가 1이면 두 번째 아이콘이 파일에서 로드됩니다.
  • IconIndex가 음수인 경우 IconIndex의 절대값은 아이콘의 리소스 식별자(인덱스가 아닌)로 사용됩니다. 예를 들어 IconIndex가 -3이면 리소스 식별자가 3인 아이콘이 파일에서 로드됩니다.

다음 예제에서는 가상 Lit View 브라우저의 등록을 보여 줍니다. Litview.exe 파일에 저장된 두 번째 아이콘이 기본값으로 사용됩니다.

HKEY_LOCAL_MACHINE
   Software
      Clients
         StartMenuInternet
            LITVIEW.EXE
               DefaultIcon
                  (Default) = C:\Program Files\LitwareInc\Litview.exe,1

Open Verb 등록

참고 항목

이 섹션은 Windows 2000에는 적용되지 않습니다. 다음 단계는 브라우저 및 전자 메일 클라이언트에만 필요합니다.

 

사용자가 프로그램을 기본 인터넷 또는 전자 메일 프로그램으로 선택했다고 가정합니다. 해당 사용자는 Windows XP 또는 Windows Vista 시작 메뉴에서 인터넷 또는 전자 메일 아이콘을 클릭하여 프로그램을 엽니다. 이때 여기에 표시된 대로 등록된 명령줄이 실행됩니다.

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName
               shell
                  open
                     command
                        (Default) = command line

명령줄은 파일의 정규화된 절대 경로와 선택적 명령줄 옵션을 지정해야 합니다. 항목 형식이 REG_EXPAND_SZ 경우 경로에서 환경 변수를 사용할 수 있습니다. 명령줄의 공백이 잘못 해석되지 않도록 따옴표를 적절하게 사용합니다. 명령줄은 적절한 기본값으로 프로그램을 실행해야 합니다. 브라우저는 일반적으로 사용자의 홈페이지로 기본 설정됩니다. 전자 메일 프로그램은 일반적으로 사용자의 받은 편지함을 엽니다.

다음 예제에서는 가상 Lit open View 브라우저에 대한 동사의 등록을 보여 줍니다. 명령줄 옵션을 지정하지 않습니다.

HKEY_LOCAL_MACHINE
   Software
      Clients
         StartMenuInternet
            LITVIEW.EXE
               shell
                  open
                     command
                        (Default) = "C:\Program Files\LitwareInc\Litview.exe"

이 값에서 따옴표는 포함된 공백을 포함하므로 경로 주위에 배치됩니다. 이러한 따옴표를 생략하면 명령줄이 잘못 해석될 수 있습니다.

설치 정보 등록

참고 항목

이 섹션은 Windows Server 2003에는 적용되지 않습니다.

 

사용자가 컴퓨터별 기본 프로그램을 선택하는 기능은 다음 표와 같이 명명되고 액세스됩니다. (Windows Vista에서 새로운 기능을 도입했습니다.사용자가 사용자 단위 기본값을 설정할 수 있는 기본 프로그램을 설정합니다.)

운영 체제 타이틀 액세스 위치
Windows 7 프로그램 액세스 및 컴퓨터 기본값 설정
  • 시작 메뉴 기본 프로그램 옵션
  • 기본 프로그램 제어판 항목
Windows Vista 프로그램 액세스 및 컴퓨터 기본값 설정
  • 시작 메뉴 기본 프로그램 옵션
  • 기본 프로그램 제어판 항목
Windows XP SP2 프로그램 액세스 및 기본값 설정
  • 시작 메뉴
  • 프로그램 제어판 항목 추가 또는 제거
Windows XP SP1 프로그램 구성
  • 프로그램 제어판 항목 추가 또는 제거

 

간단히 하기 위해 이 항목에서는 기능의 Windows 7 제목을 사용합니다. 이 기능의 모든 버전을 일반적으로 SPAD라고 합니다.

참고 항목

Windows 2000 또는 Windows XP를 실행하는 경우 프로그램 액세스 및 기본값 설정 페이지를 보려면 Windows 2000 SP3 또는 Windows XP SP1 이상이 설치되어 있어야 합니다. Windows Vista 이상에서 프로그램 액세스 및 컴퓨터 기본값 설정 페이지에 액세스하려면 관리 권한을 부여해야 합니다. 이러한 이유로 개발자는 모든 사용자가 애플리케이션 기본값을 관리할 수 있도록 기본 프로그램 제어판 항목 설정에 등록하는 것이 좋습니다.

 

다음 레지스트리 트리는 프로그램이 해당 클라이언트 유형에 대한 옵션으로 프로그램 액세스 및 컴퓨터 기본값 설정 페이지에 표시되려면 프로그램의 InstallInfo 키에 등록해야 하는 다양한 정보를 보여 줍니다 . 이러한 각 값은 다음 섹션에서 자세히 설명합니다.

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName
               InstallInfo
                  HideIconsCommand = command line
                  ReinstallCommand = command line
                  ShowIconsCommand = command line
                  IconsVisible = 1

명령줄은 파일의 정규화된 절대 경로와 선택적 명령줄 옵션을 지정해야 합니다. 명령줄의 공백이 잘못 해석되지 않도록 따옴표를 적절하게 사용합니다.

다시 설치 명령

ReinstallCommand 값에 선언된 다시 설치 명령줄은 사용자가 프로그램 액세스 및 컴퓨터 기본값 설정 페이지를 사용하여 프로그램을 클라이언트 유형의 기본값으로 선택할 때 실행됩니다. Windows Vista 이상에서 이 페이지에 액세스하려면 관리istrator 권한 수준이 필요합니다. Windows 8에서 프로그램 액세스 설정과 컴퓨터 기본값 및 기본 프로그램 모두에 대해 동일한 이름을 사용하여 애플리케이션을 등록한 경우 해당 애플리케이션의 기본 프로그램에 지정된 기본값이 현재 사용자에 적용되고 다시 설치 명령을 실행합니다.

다시 설치 명령줄에서 시작한 프로그램은 애플리케이션이 처리할 수 있는 파일 및 프로토콜 형식의 전체 집합과 애플리케이션을 연결해야 합니다. 모든 애플리케이션은 다시 설치 명령에서 처리기 기능을 설정해야 합니다. 애플리케이션은 다시 설치 명령을 사용하여 기능을 등록하고 필요에 따라 기본 상태 설정할 수 있습니다. 애플리케이션이 다시 설치 명령에서 기능 및 기본 처리기 상태 모두 구현하도록 선택하는 경우 원하는 링크 또는 바로 가기도 복원해야 합니다. 대부분의 애플리케이션이 선택하는 표시 진입점은 아이콘 숨기기 명령에 나열됩니다.

참고 항목

애플리케이션은 다시 설치 명령에서 처리 기능을 구현하는 것이 좋습니다.

 

다시 설치 프로세스가 완료되면 다시 설치 명령줄에서 시작한 프로그램이 종료됩니다. 해당 프로그램을 시작해서는 안 됩니다. 기본값만 등록해야 합니다. 예를 들어 브라우저에 대한 다시 설치 명령은 사용자의 홈페이지를 열지 않아야 합니다.

참고 항목

Windows XP 및 Windows Vista의 브라우저 및 전자 메일 클라이언트의 경우 다시 설치 명령에서 처리 기능과 기본 상태 모두 설정하도록 선택한 애플리케이션은 시작 메뉴 맨 위에 있는 해당 아이콘에 등록해야 합니다. 자세한 내용은 시작 메뉴 등록을 참조하세요.

 

아이콘 숨기기 명령

HideIconsCommand 값에 선언된 명령줄은 사용자가 프로그램 액세스 및 컴퓨터 기본값 설정 페이지에서 이 프로그램에 대한 액세스 사용 상자를 지울 때 실행됩니다. 이 명령줄은 사용자 인터페이스에 표시되는 프로그램의 모든 액세스 지점을 숨겨야 합니다. 특정 지침은 다음 위치에서 바로 가기 및 아이콘을 제거하는 것입니다.

  • 바탕 화면 아이콘
  • 시작 메뉴 링크(다음 포함)시작 그룹
  • 빠른 실행 표시줄 링크
  • 알림 영역
  • 바로 가기 메뉴
  • 폴더 작업 대역

또한 이 명령줄은 실행 레지스트리 키에 지정된 것과 같은 프로그램의 자동 호출을 방지해야 합니다. 공급업체는 애플리케이션의 액세스 숨기기 콜백에서 이러한 지침을 구현하는 것이 좋습니다.

아이콘이 숨겨지면 파일 형식의 등록(애플리케이션 기능)을 포기할 필요가 없습니다. 또한 파일 및 프로토콜 형식에 대한 애플리케이션의 기본 상태 포기할 필요가 없습니다. 이렇게 하면 UI에서 이러한 형식이 발견되면 사용자 환경이 저하될 수 있습니다.

아이콘을 성공적으로 숨긴 후에는 다음과 같이 IconsVisible 레지스트리 값을 0으로 업데이트해야 합니다.

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName
               InstallInfo
                  IconsVisible = 0

IconsVisible 항목은 REG_DWORD 형식입니다.

SPAD의 대체 숨기기 아이콘 메서드

일부 레거시 애플리케이션의 경우 Access 숨기기의 전체 구현이 실용적이지 않을 수 있습니다. 동일한 효과를 얻을 수 있는 다른 방법은 애플리케이션을 제거하는 것입니다. 아래 섹션에서는 이 대안을 구현하기 위한 예제 동작 및 샘플 코드를 보여줍니다. 일반적으로 ISV(독립 소프트웨어 공급업체)는 다음과 같은 방법으로 이 대안을 피해야 합니다.

  • 시스템에서 애플리케이션을 완전히 제거합니다.
  • 이전에 선택한 기본값을 제거합니다.
  • 애플리케이션을 다시 설치하는 UI 옵션은 그대로 둡니다.
  • 제거하면 SPAD에서 애플리케이션이 완전히 제거되므로 액세스 사용 기능을 더 이상 사용할 수 없도록 합니다.

권장되는 사용자 환경은 다음과 같습니다.

  • 사용자가 SPAD에서 이 프로그램에 대한 액세스 검사 해제하면 다음 UI가 표시됩니다.

    dialog box about hiding access to the program

  • 사용자가 확인을 선택하면 프로그램 및 기능 제어판 항목이 시작되어 사용자가 애플리케이션을 제거할 수 있습니다.

  • Windows XP 사용자에게 이 대화 상자가 표시됩니다.

    equivalent windows xp dialog box

  • Windows XP 사용자가 확인을 선택하면 프로그램 추가 또는 제거 제어판 항목이 시작되어 사용자가 애플리케이션을 제거할 수 있습니다.

다음 코드는 위에서 설명한 대로 액세스 숨기기 기능에 재사용 가능한 구현을 제공합니다. Windows XP, Windows Vista 및 Windows 7에서 사용할 수 있습니다.

#include <windows.h>
#include <shlwapi.h>
#include <strsafe.h>

PCWSTR c_pszMessage1 = L"To hide access to this program, you need to uninstall it by ";
PCWSTR c_pszMessage2 = L"using\n%s in Control Panel.\n\nWould you like to start %s?";
PCWSTR c_pszApplicationName  = L"Sample App";

int _tmain(int argc, WCHAR* argv[])
{
    OSVERSIONINFO version;
    version.dwOSVersionInfoSize = sizeof(version);

    if (GetVersionEx(&version))
    {
        PCWSTR pszCPLName = NULL;

        if (version.dwMajorVersion >= 6)
        {
            // Windows Vista and later
            pszCPLName = L"Programs and Features";
        }
        else if (version.dwMajorVersion == 5 &&
                 version.dwMinorVersion == 1)
        {
            // Windows XP
            pszCPLName = L"Add/Remove Programs";
        }

        if (pszCPLName != NULL)
        {
            WCHAR szMessage[256], szScratch[256];
            if (SUCCEEDED(StringCchPrintf(szScratch, 
                                          ARRAYSIZE(szScratch), 
                                          c_pszMessage2, 
                                          pszCPLName, 
                                          pszCPLName)))
            {
                if (SUCCEEDED(StringCchCopy(szMessage, 
                                            ARRAYSIZE(szMessage), 
                                            c_pszMessage1)))
                {
                    if (SUCCEEDED(StringCchCat(szMessage, 
                                               ARRAYSIZE(szMessage), 
                                               szScratch)))
                    {
                        if (IDOK == MessageBox(NULL, 
                                               szMessage, 
                                               c_pszApplicationName, 
                                               MB_OKCANCEL))
                        {
                            ShellExecute(NULL, 
                                         NULL, 
                                         L"appwiz.cpl", 
                                         NULL, 
                                         NULL, 
                                         SW_SHOWNORMAL);
                        }
                    }
                }
            }
        }
    }
    return 0;
}

아이콘 표시 명령

ShowIconsCommand 항목에 선언된 명령줄은 사용자가 프로그램 액세스 및 컴퓨터 기본값 설정 페이지에서 이 프로그램에 대한 액세스 사용 상자를 검사 때 실행됩니다. 이 명령줄은 시작 메뉴, 데스크톱 및 시작 그룹의 액세스 지점뿐만 아니라 실행 레지스트리 키에 지정된 것과 같은 일반 자동 호출을 포함하여 프로그램의 액세스 지점을 복원할 수 있습니다. 대부분의 애플리케이션에 대한 관심 있는 표시 액세스 지점은 아이콘 숨기기 명령에 나열됩니다. 애플리케이션은 사용자별 기본값을 변경해서는 안 됩니다. 사용자가 기본 프로그램을 통해 변경해야 합니다.

아이콘이 성공적으로 표시되면 다음과 같이 IconsVisible 레지스트리 값을 1로 업데이트해야 합니다.

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName
               InstallInfo
                  IconsVisible = 1

HideIconsCommand 항목을 사용하여 애플리케이션을 제거하라는 메시지를 표시한 경우 ShowIconsCommand 항목은 사용할 수 없습니다. 제거 프로세스 중에 애플리케이션의 나머지 정보와 함께 레지스트리에서 제거해야 합니다.

그룹 프로그램 구성

참고 항목

이 섹션은 Windows 2000에는 적용되지 않습니다.

 

시스템 준비의 일환으로 OEM은 Microsoft 브라우저, 전자 메일, 미디어 재생, 인스턴트 메시징 또는 Java 클라이언트 프로그램의 가상 머신에 대한 액세스 지점을 숨기고 자체 기본 프로그램을 지정하는 구성을 설정할 수 있습니다. OEM을 사용하면 사용자가 다음 레지스트리 값을 설정하여 언제든지 컴퓨터를 이 기본 구성으로 다시 설정할 수 있습니다.

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName
               InstallInfo
                  OEMShowIcons = 1
                  OEMDefault = 1

이러한 키를 설정하면 사용자는 프로그램 액세스 및 컴퓨터 기본값 설정 페이지에서 컴퓨터 제조업체 옵션을 선택하여 OEM 구성을 복원할 수 있습니다. 이러한 키를 설정 하지 않으면 컴퓨터 제조업체 옵션이 표시되지 않습니다.

OEMShowIcons 항목이 있는 경우 사용자가 컴퓨터 제조업체를 선택하는 경우 적용되는 지정된 클라이언트의 아이콘 표시 상태를 설정합니다. 값이 1이면 아이콘이 표시되고 값이 0이면 아이콘이 표시되지 않습니다. OEMShowIcons가 없는 경우 컴퓨터 제조업체선택하면 아이콘 표시 설정에 영향을 주지 않습니다. OEMShowIcons는 REG_DWORD 형식입니다.

OEMDefault 항목이 있고 1로 설정된 경우 표시된 형식의 기본 클라이언트에 대한 OEM 기본 설정을 설정합니다. 특정 형식의 클라이언트 하나만 OEM 기본값으로 표시할 수 있습니다. 둘 이상의 클라이언트 등록에 OEMDefault 항목이 포함된 경우 모두 무시되고 현재 클라이언트는 기본 클라이언트로 계속 사용됩니다. OEMDefault 항목이 없거나 존재하며 0으로 설정된 경우 사용자가 컴퓨터 제조업체를 선택하는 경우 해당 특정 클라이언트가 기본 클라이언트로 사용되지 않습니다. OEMDefault는 REG_DWORD 형식입니다.

OEM에서 설정한 기본 구성으로 컴퓨터를 다시 설정하는 옵션 외에도 사용자에게는 세 가지 다른 구성 옵션이 있습니다.

  • 해당 컴퓨터를 Microsoft Windows 구성으로 설정합니다. 이 경우 프로그램 액세스 및 컴퓨터 기본값 설정 페이지에서는 관련 제품 범주에 등록된 컴퓨터의 모든 Microsoft 및 비 Microsoft 소프트웨어에 액세스할 수 있습니다. Microsoft Windows 프로그램은 각 범주에 대한 기본 옵션으로 선택됩니다.
  • 해당 컴퓨터를 비 Microsoft 구성으로 설정합니다. 이 구성은 Windows Internet Explorer, Windows 미디어 플레이어, Windows Messenger 및 Microsoft Outlook Express에 대한 액세스 지점(예: 시작 메뉴)을 숨깁니다. 이러한 범주에서 컴퓨터의 비 Microsoft 소프트웨어에 액세스할 수 있습니다. 또한 Microsoft 이외의 프로그램을 범주에서 사용할 수 있는 경우 해당 범주의 기본값으로 설정됩니다. 범주에서 둘 이상의 비 Microsoft 프로그램을 사용할 수 있는 경우 사용자에게 기본값으로 사용해야 하는 타사 프로그램을 선택하라는 메시지가 표시됩니다.
  • 사용자 지정 구성을 설정합니다. 사용자는 액세스 권한을 사용하거나 제거하고 Microsoft 및 비 Microsoft 프로그램을 적합하게 혼합하기 위해 직접 선택합니다. 사용자는 범주별로 기본 옵션을 설정합니다.

사용자는 언제든지 이러한 옵션을 자유롭게 변경할 수 있습니다.

브라우저 등록 예제

다음 예제에서는 가상 Lit View 브라우저에 대한 전체 InstallInfo 등록을 보여 줍니다. 이 경우 명령줄 스위치를 사용하면 Litview.exe 파일이 각 값에 필요한 모든 작업을 수행할 수 있습니다.

HKEY_LOCAL_MACHINE
   Software
      Clients
         StartMenuInternet
            LITVIEW.EXE
               InstallInfo
                  ReinstallCommand = "C:\Program Files\LitwareInc\Litview.exe" /reinstall
                  HideIconsCommand = "C:\Program Files\LitwareInc\Litview.exe" /hideicons
                  ShowIconsCommand = "C:\Program Files\LitwareInc\Litview.exe" /showicons
                  IconsVisible = 1

따옴표는 포함된 공백을 포함하기 때문에 경로 주위에 배치됩니다.

특정 클라이언트 형식에 대한 등록 요소

다음 정보는 이 항목의 끝에 있는 관련 항목 섹션에 나열된 리소스에서도 찾을 수 있습니다.

시작 메뉴 등록

Windows XP에서 애플리케이션은 일반적으로 사용자(HKEY_CURRENT_USER) 범위가 아닌 컴퓨터 전체(HKEY_LOCAL_MACHINE)에 기본값을 등록합니다. Windows Vista의 UAC(사용자 계정 컨트롤) 도입으로 시작 메뉴에서 인터넷전자 메일 슬롯을 주장하는 애플리케이션은 올바른 실행 컨텍스트 내에서 다시 설치 명령을 구현해야 합니다.

참고 항목

시작 메뉴 전자 메일 링크는 Windows 7부터 제거되었습니다. 그러나 이 섹션에서 설명하는 등록은 기본 MAPI 클라이언트를 할당하므로 계속 수행해야 합니다.

 

Windows XP, Windows Vista 또는 Windows 7의 제한된 사용자는 SPAD에 액세스할 수 없습니다. 이러한 이유로 개발자는 모든 사용자가 사용자별 애플리케이션 기본값을 관리할 수 있도록 기본 프로그램 제어판 항목 설정에 등록하는 것이 좋습니다.

SPAD에서 선택한 항목은 컴퓨터별 설정에만 영향을 줍니다.

레지스트리 값을 다음과 같이 설정합니다.

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            (Default) = CanonicalName

참고 항목

다음 정보는 Windows XP에만 적용됩니다.

위에 표시된 대로 HKEY_LOCAL_MACHINE 컴퓨터 수준 기본값 등록에 성공하면 애플리케이션은 다음 하위 키 아래의 기본 항목에 할당된 값을 삭제해야 합니다.

HKEY_CURRENT_USER
   SOFTWARE
      Clients
         ClientTypeName

위와 같이 HKEY_LOCAL_MACHINE 아래의 컴퓨터 수준 기본값 등록이 실패하는 경우 일반적으로 사용자에게 하위 키에 대한 쓰기 권한이 없기 때문에 애플리케이션은 다음 값을 설정해야 합니다.

HKEY_CURRENT_USER
   SOFTWARE
      Clients
         ClientTypeName
            (Default) = CanonicalName

이렇게 하면 모든 사용자가 아닌 현재 사용자에 대해서만 정식 이름이 등록됩니다.

 

레지스트리 키를 업데이트한 후 프로그램은 wParam = 0으로 WM_SETTINGCHANGE 메시지를 브로드캐스트하고 lParam은 null로 끝나는 문자열 "Software\Clients\ClientTypeName"을 가리키며 운영 체제에 기본 클라이언트가 변경되었음을 알려야 합니다.

메일 클라이언트 등록

메일 클라이언트의 경우 프로토콜을 사용하는 mailto URL을 서비스하려면 프로그램에 HKEY_CLASSES_ROOT\mailto 키 아래에 등록된 설정이 있어야 합니다. 다음 키 아래에 해당 설정을 미러 값과 키를 설정합니다.

HKEY_LOCAL_MACHINE
   Software
      Clients
         Mail
            CanonicalName
               Protocols
                  mailto

이 레지스트리 계층 구조는 HKEY_CLASSES_ROOT\mailto에 있는 기존 mailto 레지스트리 계층 구조를 대체합니다. 계층 구조는 동일하게 기본 위치만 변경되었습니다. 이 계층 구조의 형식은 비동기 플러그형 프로토콜 개요 및 자습서의 MSDN에 설명되어 있습니다. 일반적으로 mailto 프로토콜은 비동기 프로토콜이 아닌 프로그램에 등록되며, 이 경우 URI 스키마에 애플리케이션 등록에 대한 설명서가 적용됩니다.

다음 예제에서는 프로그램에 등록 된 처리기에 대 한 mailto 등록의 섹션을 보여 mailto 있습니다.

HKEY_LOCAL_MACHINE
   Software
      Clients
         Mail
            CanonicalName
               Protocols
                  mailto
                     (Default) = URL:MailTo Protocol
                     EditFlags = 02 00 00 00
                     URL Protocol
                     DefaultIcon
                        (Default) = %FilePath%,IconIndex
                     shell
                        open
                           command
                              (Default) = command line

EditFlags 레지스트리 값은 "파일 형식 특성 정의" 섹션의 파일 형식에 설명되어 있습니다.

전체 샘플 등록

다음 예제는 다양한 클라이언트 유형에 대한 전체 등록 요구 사항을 보여 줍니다.

샘플 브라우저

HKEY_LOCAL_MACHINE
   Software
      Clients
         StartMenuInternet
            LITVIEW.EXE
               (Default) = Lit View
               LocalizedString = @C:\Program Files\LitwareInc\ResourceDLL.dll,-123
               DefaultIcon
                  (Default) = C:\Program Files\LitwareInc\LITVIEW.EXE,1
               InstallInfo
                  ReinstallCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /reinstall
                  HideIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /hideicons
                  ShowIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /showicons
                  IconsVisible = 1
                  shell
                     open
                        command
                           (Default) = "C:\Program Files\LitwareInc\LITVIEW.EXE" /homepage

샘플 메일 브라우저

HKEY_LOCAL_MACHINE
   Software
      Clients
         Mail
            Lit View
               (Default) = Lit View
               DLLPath = @C:\Program Files\LItwareInc\LitwareMAPI.dll
               LocalizedString = @C:\Program Files\LitwareInc\ResourceDLL.dll,-123
               DefaultIcon
                  (Default) = C:\Program Files\LitwareInc\LITVIEW.EXE,1
               InstallInfo
                  ReinstallCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /reinstall
                  HideIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /hideicons
                  ShowIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /showicons
                  IconsVisible = 1
               shell
                  open
                     command
                        (Default) = "C:\Program Files\LitwareInc\LITVIEW.EXE" /inbox
               protocols
                  mailto
                     (Default) = URL:MailTo Protocol
                     EditFlags = 02 00 00 00
                     URL Protocol
                     DefaultIcon
                        (Default) = C:\Program Files\LitwareInc\LITVIEW.EXE,1
                     shell
                        open
                           command
                              (Default) = "C:\Program Files\LitwareInc\LITVIEW.EXE" /mailto:%1

샘플 미디어 플레이어

HKEY_LOCAL_MACHINE
   Software
      Clients
         Media
            Lit View
               (Default) = Lit View
               LocalizedString = @C:\Program Files\LitwareInc\ResourceDLL.dll,-123
               DefaultIcon
                  (Default) = C:\Program Files\LitwareInc\LITVIEW.EXE,1
               InstallInfo
                  ReinstallCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /reinstall
                  HideIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /hideicons
                  ShowIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /showicons
                  IconsVisible = 1

샘플 인스턴트 메신저 프로그램

HKEY_LOCAL_MACHINE
   Software
      Clients
         IM
            Lit View
               (Default) = Lit View
               LocalizedString = @C:\Program Files\LitwareInc\ResourceDLL.dll,-123
               DefaultIcon
                  (Default) = C:\Program Files\LitwareInc\LITVIEW.EXE,1
               InstallInfo
                  ReinstallCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /reinstall
                  HideIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /hideicons
                  ShowIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /showicons
                  IconsVisible = 1

Java용 샘플 Virtual Machine

HKEY_LOCAL_MACHINE
   Software
      Clients
         JavaVM
            Lit View
               (Default) = Lit View
               LocalizedString = @C:\Program Files\LitwareInc\ResourceDLL.dll,-123
               DefaultIcon
                  (Default) = C:\Program Files\LitwareInc\LITVIEW.EXE,1
               InstallInfo
                  ReinstallCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /reinstall
                  HideIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /hideicons
                  ShowIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /showicons
                  IconsVisible = 1

용례에 사용된 회사, 기관, 제품, 도메인 이름, 메일 주소, 로고, 사람, 장소 및 이벤트는 실제 데이터가 아닙니다. 어떠한 실제 회사, 조직, 제품, 도메인 이름, 전자 메일 주소, 로고, 사람, 장소 또는 이벤트와도 연관시킬 의도가 없으며 그렇게 유추해서도 안 됩니다.

기본 프로그램

Windows 시작 메뉴에 인터넷 브라우저 또는 전자 메일 클라이언트를 등록하는 방법

Internet Explorer 클라이언트 레지스트리 레이아웃("클라이언트 레지스트리 키 정의" 섹션 참조)

비동기 플러그형 프로토콜 개요 및 자습서

URI 체계에 애플리케이션 등록