파일 연결 예제
다음 예제에서는 Litware, Inc.라는 가상의 소프트웨어 개발 회사에서 LitwarePlayer라는 새 오디오 플레이어를 만듭니다. Litware는 품질 손실 없이 전체 오디오 CD를 10KB 미만의 메모리에 저장할 수 있도록 새로 개발된 오디오 형식을 사용하는 LitwarePlayer와 기본 파일 형식 간의 파일 연결을 설계하려고 합니다.
중요
이 항목은 Windows 10 적용되지 않습니다. Windows 10 기본 파일 연결이 작동하는 방식이 변경되었습니다. 자세한 내용은 이 게시물에서 Windows 10 기본 앱을 처리하는 방법에 대한 변경 내용 섹션을 참조하세요.
새 파일 연결 디자인
회사는 다음 단계를 수행해야 합니다.
새 파일 형식을 퍼블릭 또는 프라이빗으로 처리할지 여부를 결정합니다. 이 새 파일 형식은 미디어 형식입니다. 사용자가 다양한 플랫폼에서 미디어 파일을 교환하고 LitwarePlayer 형식을 읽어야 하는 다른 애플리케이션이 있을 수 있으므로 공용 파일 형식이 가장 적합합니다.
이 파일 형식이 이미 정의되어 있는지 확인합니다. IANA(Internet Assigned Numbers Authority) MIME 데이터베이스 및 인터넷의 기타 공용 파일 형식 데이터베이스를 확인하여 비교 가능한 파일 형식이 정의되지 않은지 확인합니다. 새 파일 형식이므로 새 파일 형식을 정의해야 합니다.
새 파일 형식의 파일 이름 확장명을 정의합니다. 개발자는 공급업체 약어와 파일에 포함된 내용에 대한 힌트를 통합하는 를 선택합니다
.opa-ltw-audio
. 연구는 확장이 다른 사람에 의해 사용되지 않는 것으로 확인. 현재 권장 사항에 따라 짧은 확장이 정의되지 않습니다.파일 형식에 대한 MIME 형식을 정의하고 IANA에 등록합니다. Litware는 새 MIME 형식을 audio/LitwarePlayer.1 로 정의하고 RFC(Request for Comments) numbers 2045, 2046, 2047 및 2048에 명시된 지침에 따라 MIME 형식 애플리케이션을 준비합니다. 그런 다음, 등록된 MIME 형식의 데이터베이스에 새 파일 형식을 추가하는 IANA에 애플리케이션을 제출합니다.
파일 형식에 대한 ProgID가 있는지 여부를 확인합니다. 새 파일 형식이므로 ProgID 가 없습니다. Litware는 LitwarePlayer용 새 ProgID를 디자인하는 방법에 대해 설정합니다. 식별 이름 "LitwarePlayer Audio Player"(LitwarePlayer.exe 파일에 리소스로 저장됨)를 결정하고 LitwarePlayer와 연결된 파일(LitwarePlayer.exe 저장됨)에 사용할 기본 아이콘을 디자인합니다. LitwarePlayer는 새 애플리케이션이므로 버전 1 ProgID입니다.
ProgID를 등록합니다. LitwarePlayer가 설치되면 설치 프로그램에서 레지스트리에 다음 ProgID 항목을 만듭니다.
HKEY_CLASSES_ROOT Litware.LitwarePlayer.1 (Default) = LitwarePlayer Audio Player FriendlyTypeName = @LitwarePlayer, -120 CurVer (Default) = Litware.LitwarePlayer.1 DefaultIcon (Default) = LitwarePlayer, -142 shell play command (Default) = "%ProgramFiles%\LitwarePlayer\LitwarePlayer.exe" "%1"
명령 키에서 %1은 재생할 파일의 경로로 전달됩니다.
파일 형식의 파일 이름 확장명을 등록합니다. LitwarePlayer가 설치되면 설치 프로그램에서 사용자 지정 파일 형식 확장명용으로 레지스트리에 다음 항목을 만듭니다.
HKEY_CLASSES_ROOT .opa-vwi-audio (Default) = Litware.LitwarePlayer.1 PerceivedType = Audio Content Type = audio/LitwarePlayer
참고
파일 연결이 만들어지거나 변경될 때마다 SHChangeNotify를 호출하고 SHCNE_ASSOCCHANGED 이벤트를 지정하여 변경이 발생했음을 시스템에 알립니다. 이 작업이 수행되지 않으면 셸은 시스템이 다시 시작될 때까지 변경된 내용을 인식하지 못할 수 있습니다.
추가 리소스
관련 항목