빠른 시작: 이동식 저장소를 자동 실행 장치로 구성(JavaScript 및 HTML을 사용하는 Windows 스토어 앱)
볼륨 장치가 컴퓨터에 연결된 경우 메모리 카드나 썸 드라이브(thumb drive) 같은 볼륨 장치를 자동 실행 장치로 식별할 수 있습니다. 이 기능은 자동 실행할 특정 앱을 연결하여 볼륨 장치로 사용자에게 제공하려는 경우에 특히 유용합니다.
이 샘플에서는 볼륨 장치를 자동 실행 장치로 식별하는 방법을 보여 줍니다.
볼륨 장치를 자동 실행 장치로 식별하려면 장치의 루트 드라이브에 autorun.inf 파일을 추가합니다. autorun.inf 파일에서 CustomEvent 키를 AutoRun 섹션에 추가합니다. 볼륨 장치가 컴퓨터에 연결되면 자동 실행에서 autorun.inf 파일을 찾고 볼륨을 장치로 처리합니다. 자동 실행에서 CustomEvent 키에 제공한 이름을 사용하여 자동 실행 이벤트를 만듭니다. 그런 다음 앱을 만들고 해당 앱을 해당 자동 실행 이벤트의 처리기로 등록합니다. 장치가 컴퓨터에 연결되면 자동 실행에서 앱을 볼륨 장치의 처리기로 표시합니다. autorun.inf 파일에 대한 자세한 내용은 autorun.inf 항목을 참조하세요.
자동 실행에서는 장치의 처리기로 만든 앱을 자동으로 다운로드하지 않습니다. 항상 그렇듯이 사용자는 Windows 스토어에서 앱을 다운로드할 수 있습니다. Windows 스토어에서 앱을 사용할 수 있으면 장치 및 앱에 대한 정보를 Windows Metadata and Internet Services 데이터베이스에 포함하여 보다 단순한 사용자 환경을 만들 수 있습니다. WMIS 데이터베이스에 있는 장치의 모델 ID 또는 하드웨어 ID에 대해 자동 설치된 앱으로 앱을 연결하면 장치가 컴퓨터에 연결될 때 Windows에서 해당 연결을 검색합니다. 컴퓨터에 앱이 설치되어 있지 않으면 Windows에서 앱을 자동으로 다운로드하여 설치합니다. 자동 실행에서는 사용 중인 앱을 장치의 처리기로 선택할 수 있는 첫 번째 옵션으로 사용자에게 제공합니다. 장치에 대한 메타데이터를 WMIS 데이터베이스에 추가하는 방법에 대한 자세한 내용은 장치 메타데이터 제작 마법사를 참조하세요.
목표: 볼륨 장치에 대한 사용자 지정 자동 실행 이벤트를 처리하는 앱을 만듭니다.
사전 요구 사항
이 빠른 시작의 지침을 완료하려면 썸 드라이브(thumb drive)나 메모리 카드 같은 볼륨 장치가 있어야 합니다.
Microsoft Visual Studio Express 2012 for Windows 8
지침
1. autorun.inf 파일 만들기
- 볼륨 장치의 루트 드라이브에서 autorun.inf라는 파일을 추가합니다. autorun.inf 파일을 열고 다음 텍스트를 추가합니다.
[AutoRun] CustomEvent=AutoPlayCustomEventQuickstart
2. 새 프로젝트를 만들고 AutoPlay 선언을 추가합니다.
- Visual Studio Express 2012 for Windows 8을 열고 파일 메뉴에서 새 프로젝트를 선택합니다. JavaScript 섹션에서 Windows 스토어를 선택합니다. 앱의 이름을 AutoPlayCustomEvent로 지정하고 확인을 클릭합니다.
- Package.appxmanifest 파일을 열고 기능 탭을 선택합니다. 이동식 저장소 기능을 선택합니다. 그러면 앱이 이동식 저장 장치의 파일 및 폴더에 액세스할 수 있습니다.
- 매니페스트 파일에서 선언 탭을 선택합니다. 사용 가능한 선언 드롭다운 목록에서 콘텐츠 자동 재생을 선택하고 추가를 클릭합니다. 지원되는 선언 목록에 추가된 새 콘텐츠 자동 재생 항목을 선택합니다.
참고 또는 사용자 지정 자동 실행 이벤트에 대해 자동 실행 장치 선언을 추가하도록 선택할 수도 있습니다.
-
콘텐츠 자동 실행 이벤트 선언에 대한 시작 작업 섹션에서 첫 번째 시작 작업에 대해 다음 값을 입력합니다.
설정 값 동사 show 작업 표시 이름 폴더 표시 콘텐츠 이벤트 AutoPlayCustomEventQuickstart 콘텐츠 이벤트 값은 autorun.inf 파일에서 CustomEvent 키에 제공한 텍스트입니다. 작업 표시 이름 설정은 자동 실행이 앱에 대해 표시하는 문자열을 식별합니다. 동사 설정은 선택한 옵션에 대해 앱에 전달된 값을 식별합니다. 자동 실행 이벤트에 대해 여러 개의 시작 작업을 지정하고 동사 설정을 사용하여 사용자가 앱에 대해 선택한 옵션을 확인할 수 있습니다. 앱에 전달된 시작 이벤트 인수의 verb 속성을 확인하여 사용자가 선택한 옵션을 알 수 있습니다. 동사 설정에는 예약된 open을 제외한 모든 값을 사용할 수 있습니다.
- 사용 가능한 선언 드롭다운 목록에서 파일 형식 연결을 선택하고 추가를 클릭합니다. 새 파일 형식 연결 선언에서 표시 이름 필드를 Show .ms Files로 설정하고 이름 필드를 ms_association로 설정합니다. 지원되는 파일 형식 섹션에서 새로 추가를 클릭합니다. 파일 형식 필드를 .ms로 설정합니다. 콘텐츠 이벤트의 경우 자동 실행이 앱에 명시적으로 연결되지 않은 파일 형식을 필터링합니다.
- 매니페스트 파일을 저장하고 닫습니다.
3. HTML UI 추가
- Default.html 파일을 열고 다음 HTML을 <body> 섹션에 넣습니다.
<h2>Files</h2> <div id="files" style="width:400px;height:600px;font-size:large;" />
4. 활성화 코드 추가
이 단계의 코드에서는 함수를 호출하여 볼륨 장치의 루트 드라이브에 폴더를 표시합니다. 콘텐츠 자동 실행 이벤트의 경우 자동 실행은 앱에 전달된 시작 인수에 저장 장치의 루트 폴더를 전달합니다. detail.files 속성의 첫 번째 요소에서 이 폴더를 검색할 수 있습니다. 활성화 이벤트 인수의 detail.kind 속성이 Windows.ApplicationModel.Activation.file 값을 반환하는 경우 앱이 콘텐츠 자동 실행 이벤트의 처리기로 시작되었는지 확인할 수 있습니다.
- js 폴더를 엽니다. Default.js 파일을 열고 기본 onactivated 함수를 다음 코드로 바꿉니다.
var filesDiv; app.onactivated = function (args) { if (args.detail.kind === activation.ActivationKind.file) { filesDiv = document.getElementById("files"); displayFiles(args.detail.files[0]); } args.setPromise(WinJS.UI.processAll()); };
5. 폴더 이름 표시 코드 추가
- Default.js 파일에서 활성화된 함수 뒤에 다음 코드를 추가합니다.
function displayFiles(folder) { var options = new Windows.Storage.Search.QueryOptions(); options.fileTypeFilter.append(".ms"); var query = folder.createFileQueryWithOptions(options); query.getFilesAsync().done( function (files) { files.forEach( function (f) { filesDiv.innerHTML += " " + f.name + "<br/>"; }); }); }
6. 앱 빌드 및 실행
- F5를 눌러 앱을 빌드하고 배포합니다(디버그 모드).
- 앱을 실행하려면 메모리 카드나 다른 저장 장치를 컴퓨터에 삽입합니다. 그런 다음 자동 실행 처리기 옵션 목록에서 앱을 선택합니다.
요약 및 next steps
이 자습서에서는 autorun.inf 파일을 사용하는 사용자 지정 자동 실행 이벤트를 정의하여 볼륨 장치를 자동 실행 장치로 식별했습니다. 그런 다음 앱을 만들어 해당 사용자 지정 이벤트의 처리기로 등록했습니다.
관련 항목
