다음을 통해 공유


파일 활성화 처리 방법(HTML)

[ 이 문서는 Windows 런타임 앱을 작성하는 Windows에서 8.x 및 Windows Phone 8.x 개발자를 대상으로 합니다. Windows 10용으로 개발하는 경우에는 최신 설명서를 참조하세요.]

앱을 특정 파일 형식의 기본 처리기로 등록할 수 있습니다. 데스크톱 앱과 Windows 런타임 앱을 모두 기본 파일 처리기로 등록할 수 있습니다. 사용자가 앱을 특정 파일 형식의 기본 처리기로 선택하면 해당 형식의 파일을 시작할 때마다 앱이 활성화됩니다.

해당 형식의 파일에 대해 모든 파일 시작을 처리하려는 경우에만 파일 형식을 등록하는 것이 좋습니다. 앱에서 파일 형식을 내부적으로만 사용해야 할 경우에는 기본 처리기로 등록할 필요가 없습니다. 파일 형식을 등록할 경우에는 앱이 해당 파일 형식에 대해 활성화될 때 기대되는 기능을 최종 사용자에게 제공해야 합니다. 예를 들어 사진 뷰어 앱은 .jpg 파일을 표시하도록 등록할 수 있습니다. 파일 연결에 대한 자세한 내용은 파일 형식 및 URI에 대한 지침 및 검사 목록을 참조하세요.

다음 단계에서는 사용자 지정 파일 형식인 .alsdk를 등록하는 방법 및 사용자가 .alsdk 파일을 시작할 때 앱을 활성화하는 방법을 보여 줍니다.

참고  

Windows Phone 스토어 앱에서 특정 URI 및 파일 확장명은 기본 제공 앱과 운영 체제에서 사용하기 위해 예약되어 있습니다. 예약된 URI 또는 파일 확장명에 앱을 등록하려고 하면 무시됩니다. 자세한 내용은 이 페이지의 목록을 참조하세요.

지침

단계 1: 패키지 매니페스트에서 확장점 지정

앱은 패키지 매니페스트에 나열된 파일 확장명에 대해서만 활성화 이벤트를 받습니다. 다음은 앱이 .alsdk 확장명을 가진 파일을 처리하도록 지정하는 방법입니다.

  1. 솔루션 탐색기에서 package.appxmanifest를 두 번 클릭하여 엽니다.

    파일 연결에서 사용하는 식별자에 대한 자세한 내용은 프로그래밍 ID를 참조하세요. 다음은 패키지 매니페스트에서 입력할 수 있는 각 필드에 대한 간략한 설명입니다.

    필드 설명

    콘텐츠 형식

    특정 파일 형식에 대해 image/jpeg 같은 MIME 콘텐츠 형식을 지정합니다.

    허용된 콘텐츠 형식에 대한 중요 정보:  다음은 예약되거나 금지되어 있기 때문에 패키지 매니페스트에 입력할 수 없는 MIME 콘텐츠 형식의 사전순 목록입니다. application/force-download, application/octet-stream, application/unknown, application/x-msdownload.

    이름

    동일한 표시 이름, 로고, 정보 팁 및 편집 플래그를 공유하는 파일 형식 그룹의 이름을 선택합니다. 앱 업데이트 간에 동일하게 유지될 수 있는 그룹 이름을 선택합니다.

    참고  이름은 모두 소문자여야 합니다.
     

    정보 팁

    파일 형식 그룹에 대한 정보 팁을 지정합니다. 이 도구 설명 텍스트는 사용자가 이 파일 형식의 아이콘을 가리키면 표시됩니다.

    편집 플래그

    파일 형식 그룹에 대한 편집 플래그를 지정합니다. 편집 플래그는 파일을 신뢰할 수 없는 원본에서 얻은 경우 파일에 액세스하는 방법을 제어합니다. OpenIsSafe 플래그는 다운로드한 모든 파일에 대해 파일 형식의 Open 동사를 안전하게 호출할 수 있음을 나타냅니다. AlwaysUnsafe 플래그는 파일 형식의 Open 동사를 자동으로 호출하는 옵션을 사용할 수 없음을 나타냅니다. 사용자는 파일 형식 대화 상자를 통해 이 특성을 재정의할 수 있습니다. 이 플래그의 사용은 OpenIsSafe가 적용되지 않음을 의미합니다. 또한 이 형식의 신뢰할 수 없는 파일을 열 때 보안 대화 상자에서 다시 묻지 않음 확인란을 사용할 수 없도록 합니다.

    표시 이름

    파일 형식 그룹에 대한 표시 이름을 지정합니다. 표시 이름은 제어판기본 프로그램 설정에서 파일 형식을 식별하는 데 사용됩니다.

    로고

    데스크톱 및 제어판기본 프로그램 설정에서 파일 형식을 식별하는 데 사용되는 로고를 지정합니다. 로고를 지정하지 않으면 응용 프로그램의 작은 로고가 사용됩니다.

    파일 형식

    앞에 마침표를 추가하여 등록할 파일 형식을 지정합니다(예제: ".jpeg").

    예약되거나 금지된 파일 형식

    예약되거나 금지되었기 때문에 앱을 등록할 수 없는 파일 형식의 사전순 목록입니다.

    참고  

    Windows 스토어 앱

    Accountpicture-ms, Appx, application, Appref-ms, Bat, Cer, Chm, Cmd, Com, Cpl, crt, dll, drv, Exe, fon, gadget, Hlp, Hta, Inf ,Ins, jse, lnk, Msi, Msp, ocx, pif, Ps1, Reg, Scf, Scr, Shb, Shs, Sys, ttf, url, Vbe, Vbs, Ws, Wsc, Wsf, Wsh

    참고  

    Windows Phone 스토어 앱

    Windows Phone은 기본 제공 앱에 대해 다음 파일 형식을 예약합니다.

    aac, aetx, asf, bmp, cer, dotm, dotx, gif, hdp, htm, html, ico, icon, jpeg, jpg, jxr, m4a, m4rm, m4v, mov, mp3, mp4, one, onetoc2, p7b, pem, png, pptm, pptx, qcp, rtf, tif, tiff, txt, url, vcf, wav, wdp, wmv, xap, xht, xhtml, xltm, xltx, xml, xsl, zip

    Windows Phone은 운영 체제에 대해 다음 파일 형식을 예약합니다.

    ade, adp, app, application, apprefms, asp, bas, bat, cab, chm, cmd, cnt, com, cpf, cpl, crd, crds, crt, csh, der, dll, exe, fxp, gadget, grp, hlp, hme, hpj, hta, inf, ins, isp, its, jar, js, jse, ksh, lnk, mad, maf, mag, mam, maq, mar, mas, mat, mau, mav, maw, mcf, mda, mdb, mde, mdt, mdw, mdz, msc, msh, msh1, msh1xml, msh2, msh2xml, mshxml, msi, msp, mst, msu, ops, pcd, pif, pl, plg, plsc, prf, prg, printerexport, provxml, ps1, ps1xml, ps2, ps2xml, psc1, psc2, psm1, pst, pvw, py, pyc, pyo, rb, rbw, rdp, reg, rgu, scf, scr, shb, shs, theme, tmp, tsk, url, vb, vbe, vbp, vbs, vhd, vhdx, vsmacros, vsw, webpnp, ws, wsc, wsf, wsh, xaml, xdp, xip, xnk

    원하는 보기(Windows만 해당)

    Desired View 필드를 지정하여 파일 형식에 대해 시작될 때 앱의 창에 필요한 공간 크기를 나타냅니다. Desired View에 사용 가능한 값은 Default, UseLess, UseHalf, UseMore 또는 UseMinimum입니다.

    참고  Windows는 대상 앱의 최종 창 크기를 결정할 때 원본 앱의 기본 설정, 화면의 앱 수, 화면 방향 같은 여러 가지 요소를 고려합니다. 원하는 보기를 설정해도 대상 앱에 대한 특정 창 관리 동작이 보장되지 않습니다.
     

    Windows 8.1:  Desired View는 Windows 8.1 및 Windows Server 2012 R2 이전 버전에서 지원되지 않습니다.

    Windows Phone:  Desired View는 Windows Phone에서 지원되지 않습니다.

     

  2. 선언 탭을 선택합니다.

  3. 드롭다운 목록에서 파일 형식 연결을 선택하고 추가를 클릭합니다.

  4. 이름으로 alsdk를 입력합니다.

  5. 파일 형식으로 .alsdk를 입력합니다.

  6. “images\Icon.png”를 로고로 입력합니다.

  7. Ctrl+S를 눌러 package.appxmanifest에 변경 사항을 저장합니다.

이렇게 하면 이와 같은 Extension 요소가 패키지 매니페스트에 추가됩니다. windows.fileTypeAssociation 범주는 앱이 .alsdk 확장명을 가진 파일을 처리한다는 것을 나타냅니다.

<Package xmlns="https://schemas.microsoft.com/appx/2010/manifest" xmlns:m2="https://schemas.microsoft.com/appx/2013/manifest">
   <Applications>
      <Application Id="AutoLaunch.App">
         <Extensions>
            <Extension Category="windows.fileTypeAssociation">
                <FileTypeAssociation Name="alsdk">
                  <DisplayName>SDK Sample File Type</DisplayName>
                  <Logo>images\logo.png</Logo>
                  <InfoTip>SDK Sample tip </InfoTip>
                  <EditFlags OpenIsSafe="true" />
                  <SupportedFileTypes>
                     <FileType ContentType="image/jpeg">.alsdk</FileType>
                  </SupportedFileTypes>
               </FileTypeAssociation>
            </Extension>
         </Extensions>
      </Application>
   </Applications>
</Package>

단계 2: 적절한 아이콘 추가

파일 형식의 기본값이 되는 앱에는 시스템 전체의 다양한 위치에 표시되는 아이콘이 있습니다. 예를 들어 다음과 같은 아이콘이 표시됩니다.

  • Windows 탐색기 항목 보기, 상황에 맞는 메뉴 및 리본
  • 기본 프로그램 제어판
  • 파일 선택기
  • 시작 화면의 검색 결과

로고가 이러한 모든 위치에서 제대로 표시되도록 프로젝트에 적절한 아이콘을 포함하는 것이 좋습니다. Windows 스토어 앱의 경우 작은 로고 및 아이콘 크기에 대해 16/32/48/256픽셀 버전을 이미지 폴더에 포함합니다. Windows Phone 스토어 앱의 경우 대신 63/129/336픽셀 버전을 포함합니다. 색판이 적용된 앱 타일 로고의 모양과 일치시키고, 로고를 안쪽 여백 없이 가장자리까지 확장합니다. 흰색 배경에서 아이콘을 테스트합니다. 예제 아이콘은 연결 시작 샘플(Windows)를 참조하세요.

파일의 보기가 이미지 폴더인 솔루션 탐색기. 16, 32, 48 및 256픽셀 버전의 'Icon.targetsize'와 'smallTile-sdk'가 모두 있습니다.

단계 3: 활성화된 이벤트 등록

파일 활성화를 처리하려면 activated 이벤트를 등록합니다.

WinJS.Application.addEventListener("activated", onActivatedHandler, false);

단계 4: 활성화된 이벤트 처리

1단계에서 등록된 activated 이벤트 처리기는 모든 활성화 이벤트를 받습니다. kind 속성은 활성화 이벤트의 형식을 나타냅니다. 이 예제는 file 활성화 이벤트를 처리하도록 설정되었습니다.

function onActivatedHandler(eventArgs) {
   if (eventArgs.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.file) 
   {
       // TODO: Handle file activation.

       // The number of files received is eventArgs.detail.files.size
       // The first file is eventArgs.detail.files[0].name
   }
}

참고  

파일 계약을 통해 시작된 Windows Phone 스토어 앱에서 뒤로 단추는 사용자가 앱의 이전 콘텐츠가 아닌 앱이 시작된 화면으로 다시 돌아가도록 해야 합니다.

앱이 새 페이지를 여는 각 활성화 이벤트에 대해 새 XAML 프레임을 만들도록 하는 것이 좋습니다. 이런 식으로 새 XAML 프레임에 대한 탐색 백 스택에는 앱이 일시 중단될 때 현재 창에 포함될 수 있는 이전 콘텐츠가 포함되지 않습니다. 시작 및 파일 계약에 단일 XAML 프레임을 사용하도록 결정한 앱은 새 페이지를 탐색하기 전에 프레임의 탐색 저널에서 페이지를 지워야 합니다.

파일 활성화를 통해 시작된 경우 앱은 사용자가 앱의 최상위 페이지로 다시 이동할 수 있도록 하는 UI를 포함해야 합니다.

설명

받게 되는 파일은 신뢰할 수 없는 원본에서 올 수 있으므로 파일에 대한 작업을 수행하기 전에 파일 내용의 유효성을 검사하는 것이 좋습니다. 입력 유효성 검사에 대한 자세한 내용은 안전한 코드 작성을 참조하세요.

전체 예제

연결 시작 샘플(Windows)를 참조하세요.

관련 항목

개념

기본 프로그램

파일 형식 및 프로토콜 연결 모델

작업

파일에 대한 기본 앱 시작 방법

URI 활성화 처리 방법

지침

파일 형식 및 URI에 대한 지침 및 검사 목록

참조

Windows.Storage.StorageFile

Windows.UI.WebUI.WebUIFileActivatedEventArgs

WinJS.Application.onactivated