Share via


기본 프로그램

기본 프로그램을 사용하여 기본 사용자 환경을 설정합니다. 사용자는 제어판 또는 시작 메뉴에서 직접 기본 프로그램에 액세스할 수 있습니다. Windows XP 사용자에 대한 기본 기본 환경인 SPAD(프로그램 액세스 및 컴퓨터 기본값) 설정 도구는 이제 기본 프로그램의 한 부분입니다.

중요

이 항목은 Windows 10 적용되지 않습니다. Windows 10 기본 파일 연결이 작동하는 방식이 변경되었습니다. 자세한 내용은 이 게시물에서 Windows 10 기본 앱을 처리하는 방법에 대한 변경 내용 섹션을 참조하세요.

 

사용자가 기본 프로그램을 사용하여 프로그램 기본값을 설정하는 경우 기본 설정은 동일한 컴퓨터를 사용할 수 있는 다른 사용자에게는 적용되지 않고 해당 사용자에게만 적용됩니다. 기본 프로그램은 ISV(독립 소프트웨어 공급업체)가 프로그램 또는 애플리케이션을 기본 시스템에 포함할 수 있도록 하는 API 집합(Windows 8 사용되지 않음)을 제공합니다. 또한 API 집합은 ISV가 기본값으로 상태 더 잘 관리하는 데 도움이 됩니다.

이 항목은 다음과 같이 구성됩니다.

기본 프로그램은 주로 .mp3 또는 .jpg 파일 또는 HTTP 또는 mailto와 같은 표준 프로토콜과 같은 표준 파일 형식을 사용하는 애플리케이션을 위해 설계되었습니다. 자체 전용 프로토콜 및 파일 연결을 사용하는 애플리케이션은 일반적으로 기본 프로그램 기능을 사용하지 않습니다.

기본 프로그램 기능에 애플리케이션을 등록한 후 API 집합을 사용하여 다음 옵션과 기능을 사용할 수 있습니다.

  • 애플리케이션에 대해 등록된 모든 기본값을 복원합니다. Windows 8 사용되지 않습니다.
  • 애플리케이션에 대해 등록된 단일 기본값을 복원합니다. Windows 8 사용되지 않습니다.
  • 레지스트리를 검색하는 대신 단일 호출에서 특정 기본값의 소유자를 쿼리합니다. 파일 연결, 프로토콜 또는 시작 메뉴 정식 동사의 기본값을 쿼리할 수 있습니다.
  • 사용자가 개별 기본값을 설정할 수 있는 특정 애플리케이션에 대한 UI를 시작합니다.
  • 모든 사용자별 연결을 제거합니다.

기본 프로그램은 사용자에게 추가 정보를 제공하기 위해 애플리케이션을 등록할 수 있는 UI도 제공합니다. 예를 들어 디지털 서명된 애플리케이션에는 제조업체의 홈페이지에 대한 URL이 포함될 수 있습니다.

연결된 API 집합을 사용하면 Windows Vista에 도입된 UAC(사용자 계정 제어) 기능에서 애플리케이션 함수가 올바르게 작동할 수 있습니다. UAC에서 관리자는 시스템에 표준 사용자로 표시되므로 관리자는 일반적으로 HKEY_LOCAL_MACHINE 하위 트리에 쓸 수 없습니다. 이 제한은 프로세스가 관리자의 지식 없이 관리자 역할을 하지 못하도록 하는 보안 기능입니다.

사용자가 프로그램을 설치하는 작업은 일반적으로 관리자 권한 프로세스로 수행됩니다. 그러나 설치 후 컴퓨터 수준에서 기본 연결 동작을 수정하려는 애플리케이션의 시도는 실패합니다. 대신 사용자별 수준에서 기본값을 등록해야 하므로 여러 사용자가 서로의 기본값을 덮어쓰지 않습니다.

파일 및 프로토콜 연결에 대한 계층적 레지스트리 구조는 컴퓨터 수준 기본값보다 사용자별 기본값보다 우선합니다. 일부 애플리케이션에는 HKEY_LOCAL_MACHINE 등록된 기본값을 클레임할 때 일시적으로 권한을 상승시키는 지점이 코드에 포함되어 있습니다. 다른 애플리케이션이 이미 사용자별 기본값으로 등록된 경우 이러한 애플리케이션에 예기치 않은 결과가 발생할 수 있습니다. 기본 프로그램을 사용하면 이러한 모호성이 방지되고 사용자별 수준에서 예상되는 결과가 보장됩니다.

기본 프로그램에 사용할 애플리케이션 등록

이 섹션에서는 기본 프로그램에 애플리케이션을 등록하는 데 필요한 레지스트리 하위 키 및 값을 보여 줍니다. 여기에는 전체 예제가 포함되어 있습니다.

이 섹션에서는 다음 항목을 다룹니다.

기본 프로그램을 사용하려면 각 애플리케이션이 파일 연결, MIME 연결 및 애플리케이션을 가능한 기본값으로 나열해야 하는 프로토콜을 명시적으로 등록해야 합니다. 등록 하위 키 및 값 설명에서 이 항목의 뒷부분에 자세히 설명된 다음 레지스트리 요소를 사용하여 연결을 등록합니다.

HKEY_LOCAL_MACHINE
   %ApplicationCapabilityPath%
      ApplicationDescription
      ApplicationName
      Hidden
      FileAssociations
         .file-extension1
         .file-extension2
         ...
         .file-extensionX
      MIMEAssociations
         MIME
      Startmenu
         StartmenuInternet
         Mail
      UrlAssociations
         url-scheme
   SOFTWARE
      RegisteredApplications
         Unique Application Name = %ApplicationCapabilityPath%

다음 예제에서는 WebBrowser라고 하는 가상의 Contoso 브라우저에 대한 레지스트리 항목을 보여 줍니다.

HKEY_LOCAL_MACHINE
   SOFTWARE
      Contoso
         WebBrowser
            Capabilities
               ApplicationDescription = This award-winning Contoso browser is better than ever. Search the Internet and find exactly what you want in just seconds. Use integrated tabs and new phishing detectors to enhance your Internet experience.
               FileAssociations
                  .htm = ContosoHTML
                  .html = ContosoHTML
                  .shtml = ContosoHTML
                  .xht = ContosoHTML
                  .xhtml = ContosoHTML
               Startmenu
                  StartmenuInternet = Contoso.exe
               UrlAssociations
                  http = Contoso.Url.Http
                  https = Contoso.Url.Https
                  ftp = Contoso.Url.ftp
   SOFTWARE
      RegisteredApplications
         Contoso.WebBrowser.1.06 = SOFTWARE\Contoso\WebBrowser\Capabilities

Progid

애플리케이션은 특정 ProgID를 제공해야 합니다. 일반적으로 확장의 일반 기본 하위 키에 기록되는 모든 정보를 포함해야 합니다. 예를 들어 가상의 Litware 미디어 플레이어는 애플리케이션별 HKEY_LOCAL_MACHINE\SOFTWARE\클래스\LitwarePlayer11.AssocFile.MP3 하위 키를 제공합니다. 해당 하위 키에는 제네릭 기본 하위 키 HKEY_LOCAL_MACHINESOFTWARE\클래스\.mp3\ 모든 정보와 애플리케이션을 등록하려는 추가 정보가 포함됩니다. 이렇게 하면 사용자가 .mp3 연결을 Litware 플레이어에 복원하는 경우 Litware 플레이어의 정보는 그대로 유지되며 다른 애플리케이션에서 덮어쓰지 않습니다. (기본 하위 키가 해당 정보의 유일한 원본인 경우 덮어쓰기가 발생할 수 있습니다.)

ProgID를 파일 이름 확장명 또는 프로토콜에 매핑하는 경우 애플리케이션은 일대다 또는 일대다를 매핑할 수 있습니다. Contoso 예제에서 ContosoHTML은 .htm, .html, .shtml, .xht 및 .xhtml 확장에 대한 shellexecute 정보를 제공하는 단일 ProgID를 가리킵니다. 각 프로토콜에 대해 다른 ProgID가 존재하기 때문에 프로토콜을 사용할 때 각 프로토콜에 자체 실행 문자열을 사용하도록 설정합니다.

MIME 형식을 브라우저에서 인라인으로 볼 수 있는 경우 MIME 형식의 ProgID에는 해당 애플리케이션의 CLSID(클래스 식별자)를 사용하는 CLSID 하위 키가 포함되어야 합니다. 이 CLSID는 HKEY_LOCAL_MACHINE\SOFTWARE\클래스\MIME\\ 데이터베이스콘텐츠 형식에 저장된 MIME 데이터베이스의 CLSID에 대한 조회에서 사용됩니다. MIME 형식이 브라우저에서 인라인으로 표시되지 않는 경우 이 단계를 생략할 수 있습니다.

등록 하위 키 및 값 설명

이 섹션에서는 앞에서 설명한 대로 애플리케이션을 기본 프로그램에 등록하는 데 사용된 개별 레지스트리 하위 키 및 값에 대해 설명합니다.

기능

기능 하위 키에는 특정 애플리케이션에 대한 모든 기본 프로그램 정보가 포함됩니다. 자리 표시자 %ApplicationCapabilityPath%는 HKEY_CURRENT_USER 또는 HKEY_LOCAL_MACHINE 애플리케이션의 Capabilities 하위 키에 대한 레지스트리 경로를 나타냅니다. 이 하위 키에는 다음 표에 표시된 중요한 값이 포함되어 있습니다.

Type 의미
ApplicationDescription REG_SZ 또는 REG_EXPAND_SZ 필수. 사용자가 정보에 입각한 기본 할당을 선택할 수 있도록 하려면 애플리케이션에서 애플리케이션의 기능을 설명하는 문자열을 제공해야 합니다. 이전 Contoso 예제에서는 설명을 ApplicationDescription 값에 직접 할당하지만 애플리케이션은 일반적으로 지역화를 용이하게 하기 위해 .dll 파일에 포함된 리소스로 설명을 제공합니다. ApplicationDescription이 제공되지 않으면 애플리케이션이 잠재적인 기본 프로그램의 UI 목록에 표시되지 않습니다.
ApplicationName REG_SZ 또는 REG_EXPAND_SZ 선택 사항입니다. 프로그램이 기본 프로그램 UI에 표시되는 이름입니다. 애플리케이션에서 이 데이터를 제공하지 않으면 애플리케이션에 대해 등록된 첫 번째 ProgID와 연결된 실행 프로그램 이름이 UI에서 사용됩니다. ApplicationName은 항상 RegisteredApplications에 등록된 이름과 일치해야 합니다. 브라우저 및 이메일 클라이언트와 같은 다른 애플리케이션 유형을 원하는 경우 ApplicationName을 사용하여 동일한 실행 파일을 가리키고 다른 이름으로 표시되도록 할 수 있습니다.
숨김 REG_DWORD 선택 사항입니다. 기본 프로그램 설정 대화 상자의 프로그램 목록에서 애플리케이션을 표시하지 않도록 하려면 이 값을 1로 설정합니다. 이 값이 0이거나 없는 경우 애플리케이션이 목록에 정상적으로 표시됩니다.

 

FileAssociations

FileAssociations 하위 키에는 애플리케이션에서 클레임하는 특정 파일 연결이 포함되어 있습니다. 이러한 클레임은 각 확장에 대해 하나의 값을 사용하여 값으로 저장됩니다. 연결은 제네릭 ProgID 대신 애플리케이션별 ProgID를 가리킵니다. 그러나 모든 연결이 동일한 ProgID를 가리킬 필요는 없습니다.

MIMEAssociations

MIMEAssociations 하위 키에는 애플리케이션에서 클레임하는 특정 MIME 형식이 포함되어 있습니다. 이러한 클레임은 각 MIME 형식에 대해 하나의 값을 사용하여 값으로 저장됩니다. 각 MIME 형식의 값 이름은 MIME 데이터베이스에 저장된 MIME 이름과 정확히 일치해야 합니다. 값은 애플리케이션의 해당 CLSID를 포함하는 애플리케이션별 ProgID도 할당해야 합니다.

Startmenu

Startmenu 하위 키는 시작 메뉴의 사용자가 할당할 수 있는 인터넷전자 메일 항목과 연결됩니다. 애플리케이션은 해당 항목에 대한 경쟁자로 별도로 등록해야 합니다. 자세한 내용은 클라이언트 형식으로 프로그램 등록을 참조하세요.

참고

Windows 7부터 시작 메뉴에 인터넷 및전자 메일 항목이 더 이상 없습니다. 전자 메일 항목과 연결된 레지스트리 데이터는 여전히 기본 MAPI 클라이언트에 사용되지만 인터넷 항목과 연결된 레지스트리 데이터는 Windows에서 전혀 사용되지 않습니다.

 

애플리케이션의 시작 메뉴 등록을 기본 프로그램 등록과 연결하면 애플리케이션이 연결 설정 UI에서 잠재적인 기본값으로 표시됩니다. 사용자가 애플리케이션을 기본값으로 선택한 다음 나중에 모든 애플리케이션 기본값을 복원하도록 선택하면 애플리케이션이 해당 사용자의 시작 메뉴 위치로 복원됩니다. 자세한 내용과 그림은 이 항목의 뒷부분에 있는 기본 프로그램 UI 섹션을 참조하세요.

Startmenu 하위 키에는 시작 메뉴의 정식 인터넷전자 메일 위치에 해당하는 StartMenuInternet 및 Mail이라는 두 개의 항목이 있습니다. 애플리케이션은 StartMenuInternet 또는 Mail을 HKEY_LOCAL_MACHINESOFTWARE ClientsStartMenuInternet 또는 HKEY_LOCAL_MACHINE\\SOFTWARE\\Clients\\Mail에서 애플리케이션의 등록된 하위 키 이름과 동일한 값을 할당합니다(클라이언트 형식으로 프로그램 등록에 설명된 대로).

시작 메뉴에서 전자 메일 정식 위치의 경우 기본 MAPI 클라이언트를 나타내므로 MAPI 호출을 전달할 수 있다고 가정합니다. Windows 7에서 시작 메뉴에 전자 메일 정식 위치가 더 이상 없지만 이 하위 키는 기본 MAPI 클라이언트에 계속 사용됩니다. 메일 기본값을 주장하는 애플리케이션은 다음 하위 키에서 MAPI 처리기로 등록해야 합니다.

HKEY_LOCAL_MACHINE
   SOFTWARE
      Clients
         Mail
            CanonicalName

메일 클라이언트가 MAPI를 지원할 수 없지만 시작 메뉴 전자 메일 정식 위치에 대해 경합하려는 경우 다음 하위 키 아래에 명령줄을 등록할 수 있습니다.

HKEY_LOCAL_MACHINE
   SOFTWARE
      Clients
         Mail
            CanonicalName
               shell
                  open
                     command

또한 HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\CanonicalName 에서 애플리케이션 이름으로 기본값을 추가합니다.

이러한 항목을 사용하면 시작 메뉴의 전자 메일 위치에서 애플리케이션을 시작할 수 있습니다. MAPI 호출은 여전히 애플리케이션에 수행되며 이전 MAPI 처리기로 넘어가거나 MAPI 처리기가 설정되지 않은 경우 실패합니다. 자세한 내용은 클라이언트 형식으로 프로그램 등록을 참조하세요.

UrlAssociations

UrlAssociations 하위 키에는 애플리케이션에서 클레임하는 특정 URL 프로토콜이 포함되어 있습니다. 이러한 클레임은 각 프로토콜에 대해 하나의 값을 사용하여 값으로 저장됩니다. 각 프로토콜은 제네릭 ProgID 대신 애플리케이션별 ProgID를 가리킵니다. Contoso 예제에서 설명한 대로 각 프로토콜에 대해 다른 ProgID를 사용하여 각각 자체 실행 문자열을 가질 수 있습니다.

RegisteredApplications

RegisteredApplications의 전체 하위 키는 다음과 같습니다.

Hkey_local_machine\소프트웨어\RegisteredApplications

이 하위 키는 애플리케이션에 대한 기본 프로그램 정보의 레지스트리 위치를 운영 체제에 제공합니다. 위치는 이름이 애플리케이션 이름과 일치해야 하는 값으로 저장됩니다.

전체 등록 예제

이 예제에서는 가상의 Litware 미디어 플레이어를 등록하는 데 사용되는 하위 키와 값을 보여 줍니다. 이 예제에는 ProgID 항목이 모두 함께 맞는 방법을 보여 줍니다.

다음 하위 키는 .mp3 MIME 형식에 대한 애플리케이션별 ProgID를 보여줍니다.

HKEY_LOCAL_MACHINE
   SOFTWARE
      Classes
         LitwarePlayer11.MIME.MP3
            CLSID
               (Default) = {CD3AFA76-B84F-48F0-9393-7EDC34128127}

다음은 Litware 프로그램을 .mp3 파일 이름 확장명을 연결하는 애플리케이션별 ProgID입니다.

HKEY_LOCAL_MACHINE
   SOFTWARE
      Classes
         LitwarePlayer11.AssocFile.MP3
            (Default) = MP3 Format Sound
            DefaultIcon
               (Default) = %ProgramFiles%\Litware\litware.dll, 0
            shell
               open
                  command
                     (Default) = %ProgramFiles%\Litware\litware.exe

다음 항목은 .mpeg MIME 형식과 파일 이름 확장명 모두에 대해 결합된 ProgID를 표시합니다.

HKEY_LOCAL_MACHINE
   SOFTWARE
      Classes
         LitwarePlayer11.AssocFile.MPG
            (Default) = Movie Clip
            CLSID
               (Default) = {D92B76F4-CFA0-4b93-866B-7730FEB4CD7B}
            DefaultIcon
               (Default) = %ProgramFiles%\Litware\litware.dll, 0
            shell
               open
                  command
                     (Default) = %ProgramFiles%\Litware\litware.exe

다음 항목은 기본 프로그램에 Litware 프로그램을 등록하고 이전에 등록된 ProgID를 사용합니다.

HKEY_LOCAL_MACHINE
   SOFTWARE
      Litware
         LitwarePlayer
            Capabilities
               ApplicationDescription = The new Litware Media Player breaks new ground in exciting fictional programs.
               FileAssociations
                  .mp3 = LitwarePlayer11.AssocFile.MP3
                  .mpeg = LitwarePlayer11.AssocFile.MPG
               MimeAssociations
                  audio/mp3 = LitwarePlayer11.MIME.MP3
                  audio/mpeg = LitwarePlayer11.AssocFile.MPG

마지막으로, 이 예제에서는 Litware 기본 프로그램 등록의 위치를 등록합니다.

HKEY_LOCAL_MACHINE
   SOFTWARE
      RegisteredApplications
         Litware Player = Software\Litware\LitwarePlayer\Capabilities

기본 브라우저가 되는 중

브라우저 등록은 이 항목에 설명된 모범 사례를 따라야 합니다. 브라우저가 설치되면 Windows에서 사용자가 시스템 기본값으로 브라우저를 선택할 수 있는 시스템 알림을 사용자에게 표시할 수 있습니다. 이 알림은 이러한 조건이 충족될 때 표시됩니다.

  • 브라우저의 설치 관리자는 SHCNE_ASSOCCHANGED 플래그를 사용하여 SHChangeNotify를 호출하여 Windows에 새 프로토콜 처리기가 등록되었음을 알릴 수 있습니다.
  • Windows는 하나 이상의 새 애플리케이션이 http:// 및 https:// 프로토콜을 모두 처리하기 위해 등록되었음을 감지하고 사용자에게 아직 알림을 받지 못했습니다. 즉, 애플리케이션을 보급하는 시스템 알림, 애플리케이션을 포함하는 OpenWith 플라이아웃 또는 애플리케이션에 대한 SUD(사용자 기본값 설정) 제어판 페이지 중 사용자에게 표시되지 않았습니다.

다음 예제에서는 브라우저의 설치 관리자가 레지스트리 키를 작성한 후 실행해야 하는 권장 등록 코드를 보여 줍니다.

SHChangeNotify 는 먼저 시스템에 새 연결 선택 항목을 사용할 수 있음을 알 수 있습니다. 시스템 기본값이 제대로 작동하는지 확인하려면 SHChangeNotify 호출이 필요합니다.

그러면 Sleep 문을 사용하면 시스템 프로세스에서 알림을 처리할 시간이 허용됩니다.

void NotifySystemOfNewRegistration()
{
    SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_DWORD | SHCNF_FLUSH, nullptr, nullptr);
    Sleep(1000);
}

사용자가 새 기본 브라우저를 선택하지 않고 결과 알림 또는 플라이아웃을 해제하거나 무시하는 경우 기본 브라우저는 변경되지 않은 상태로 유지됩니다. 사용자는 제어판 사용자 기본값 설정을 비롯한 다른 메커니즘을 통해 언제든지 기본 브라우저를 변경할 수 있습니다.

기본 프로그램 UI

이 섹션의 그림은 사용자가 본 기본 프로그램의 UI를 보여 줍니다.

다음 그림에서는 제어판 기본 기본 프로그램 창을 보여 줍니다.

기본 프로그램 항목 페이지의 스크린샷

사용자가 기본 프로그램 설정 옵션을 선택하면 다음 창이 나타납니다. 사용자는 이 페이지를 사용하여 프로그램이 가능한 기본값인 모든 파일 형식 및 프로토콜에 대한 기본 프로그램을 할당할 수 있습니다. 다음 그림과 같이 등록된 모든 프로그램 및 프로그램 아이콘이 왼쪽의 프로그램 상자에 표시됩니다.

기본 프로그램 설정 페이지의 스크린샷

사용자가 목록에서 프로그램을 선택하면 프로그램 아이콘과 공급자가 표시됩니다. URL이 프로그램의 디지털 서명된 인증서에 포함된 경우 프로그램에서 URL을 표시할 수도 있습니다. 디지털 서명되지 않은 프로그램은 URL을 표시할 수 없습니다.

등록 중에 프로그램에서 제공하는 설명 텍스트도 표시됩니다. 이 텍스트는 필수입니다. 설명 상자 아래에는 프로그램이 처리하도록 등록된 전체 번호에서 현재 할당된 기본값 수를 나타냅니다.

프로그램을 등록된 모든 파일 및 프로토콜의 기본값으로 할당하거나 복원하려면 사용자가 이 프로그램을 기본값으로 설정 옵션을 클릭합니다.

프로그램에 개별 파일 형식 및 프로토콜을 할당하려면 다음 그림과 같이 프로그램 창에 대한 연결 설정이 표시되는 이 프로그램의 기본값 선택 옵션을 클릭합니다.

참고

IApplicationAssociationRegistrationUI::LaunchAdvancedAssociationUI를 사용하여 프로그램에 대한 연결 설정을 호출하는 것이 좋습니다.

 

프로그램 페이지에 대한 집합 연결 스크린샷

기본 프로그램 사용에 대한 모범 사례

이 섹션에서는 애플리케이션을 등록할 때 기본 프로그램을 사용하기 위한 모범 사례 지침을 제공합니다. 또한 사용자에게 최적의 기본 프로그램 기능을 제공하는 애플리케이션을 만들기 위한 디자인 제안도 제공합니다.

설치 중

Windows XP에서 일반적으로 수행되는 설치 절차 외에도 Windows Vista 이상 기반 애플리케이션은 해당 기능을 활용하려면 기본 프로그램 기능에 등록해야 합니다.

설치하는 동안 다음 단계 시퀀스를 수행합니다. 1-3단계는 Windows XP에서 사용된 단계와 일치합니다. 4단계는 Windows Vista에서 새로 추가되었습니다.

  1. 필요한 이진 파일을 설치합니다.
  2. HKEY_LOCAL_MACHINE ProgID를 작성합니다. 애플리케이션은 해당 연결에 대한 애플리케이션별 ProgID를 만들어야 합니다.
  3. 기본 프로그램에 사용할 애플리케이션 등록에서 설명한 대로 기본 프로그램에 애플리케이션을 등록합니다.

설치 후

이 섹션에서는 애플리케이션 프롬프트가 먼저 각 사용자에게 기본 옵션을 제공하는 방법을 설명합니다. 또한 애플리케이션이 가능한 연결 및 프로토콜의 기본값으로 상태 모니터링하는 방법에 대해서도 설명합니다.

첫 번째 실행 환경

사용자가 애플리케이션을 처음 실행하는 경우 애플리케이션은 일반적으로 다음 두 가지 선택 항목을 포함하는 사용자에게 UI를 표시하는 것이 좋습니다.

  • 기본 애플리케이션 설정을 적용합니다. 이 옵션은 기본적으로 선택됩니다.
  • 기본 애플리케이션 설정을 사용자 지정합니다.

Windows 8 전에 사용자가 기본 설정을 수락하면 애플리케이션은 IApplicationAssociationRegistration::SetAppAsDefaultAll을 호출합니다. 그러면 설치 중에 선언된 모든 컴퓨터 수준 연결을 해당 사용자의 사용자별 설정으로 변환합니다.

사용자가 설정을 사용자 지정하기로 결정하면 애플리케이션에서 IApplicationAssociationRegistrationUI::LaunchAdvancedAssociationUI 를 호출하여 파일 연결 UI를 표시합니다. 다음 그림에서는 가상의 Litware 미디어 플레이어에 대한 이 창을 보여 줍니다.

리터웨어용 프로그램 페이지에 대한 집합 연결 스크린샷

파일 연결 창에는 애플리케이션이 등록한 기본값이 표시되고 다른 확장명 및 프로토콜에 대한 현재 기본값도 표시됩니다. 사용자가 기본값 사용자 지정을 완료한 후 저장 단추를 클릭하여 변경 내용을 커밋합니다. 사용자가 취소를 클릭하면 변경 내용을 저장하지 않고 창이 닫힙니다.

직접 만드는 대신 애플리케이션에 이 UI를 사용해야 합니다. 이렇게 하면 이전에 파일 연결 UI를 개발하는 데 필요한 리소스를 저장합니다. 또한 연결이 올바르게 저장되도록 보장합니다.

애플리케이션을 설정하여 기본값인지 확인

참고

Windows 8 현재 더 이상 지원되지 않습니다.

 

애플리케이션은 일반적으로 실행할 때 기본값으로 설정되는지 여부를 검사. IApplicationAssociationRegistration::QueryAppIsDefault 또는 IApplicationAssociationRegistration::QueryAppIsDefaultAll을 호출하여 이 검사 만들도록 애플리케이션을 설정합니다.

애플리케이션이 기본값이 아니라고 판단하는 경우 사용자에게 현재 상황을 수락할지 또는 애플리케이션을 기본값으로 설정할지 묻는 UI를 표시할 수 있습니다. 이 UI에 기본적으로 선택되고 다시 묻지 않을 옵션을 제공하는 검사 상자를 항상 포함합니다.

참고

기본값은 사용자 기반이어야 합니다. 애플리케이션은 사용자에게 묻지 않고 기본값을 회수해서는 안 됩니다.

 

다음 그림에서는 예제 대화 상자를 보여 줍니다.

예제 대화 상자 스크린샷

추가 리소스

파일 연결 모범 사례

파일 연결 샘플 시나리오

Windows Vista 이상에서 기본 애플리케이션을 관리하기 위한 지침

프로그램 액세스 및 컴퓨터 기본값 설정(SPAD)