파일 유형

이 항목에서는 새 파일 형식을 만드는 방법과 앱을 파일 형식 및 기타 잘 정의된 파일 형식과 연결하는 방법을 설명합니다. 공유 공통 파일 이름 확장명(.doc, .html 등)이 있는 파일의 형식은 동일합니다. 예를 들어 새 텍스트 편집기를 만드는 경우 기존 .txt 파일 형식을 사용할 수 있습니다. 다른 경우에는 새 파일 형식을 만들어야 할 수 있습니다.

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

추가 정보는 다음 topics 찾을 수 있습니다.

공용 및 프라이빗 파일 형식

공용 파일 형식은 경쟁 애플리케이션이 이러한 파일 형식과 연결되기를 원할 수 있으므로 인기 있는 형식 또는 논쟁의 여지가 있는 형식이라고도 합니다. 공용 파일 형식의 특징은 다음과 같습니다.

  • 일반적으로 표준 본문에 의해 정의되며, 정의 조직에서 교환 형식으로 승격됩니다.
  • 다양한 용도로 컴퓨터와 사용자 간에 교환되는 경우가 많습니다.
  • 다양한 플랫폼에서 지원되어야 합니다.
  • 여러 공급업체의 애플리케이션이 이를 처리할 가능성이 높습니다.

공용으로 간주되는 파일 형식의 몇 가지 예로는 .png, .gif, .jpg 및 .bmp 이미지 파일 형식과 오디오 형식 .wav, .mp3 및 .au가 있습니다.

공용 파일 형식과 달리 프라이빗 또는 독점 파일 형식은 일반적으로 하나의 애플리케이션 또는 공급업체에서만 구현되고 이해되는 형식을 갖습니다. 따라서 프라이빗 파일 형식은 일반적으로 애플리케이션 간에 충돌하는 경향이 없습니다. 일부 파일 형식은 프라이빗 파일 형식으로 시작할 수 있지만 나중에 공용 파일 형식이 될 수 있습니다.

참고

Windows는 공용 파일 형식과 프라이빗 파일 형식을 구분하지 않습니다. 이 구분은 파일 형식 등록 선택에 대한 결정을 내리는 데만 관련이 있습니다.

 

파일 형식 등록

파일 형식을 기존 애플리케이션과 연결하려면 레지스트리에서 애플리케이션 ProgID를 찾습니다. 파일 형식을 새 애플리케이션과 연결하려면 애플리케이션에 대한 ProgID를 정의합니다. 새 ProgID를 정의하는 방법에 대한 자세한 내용은 프로그래밍 식별자를 참조하세요.

파일 이름 확장명 하위 키에는 확장=명 ProgID라는 일반적인 형식이 있습니다. 파일 이름 확장명 하위 키는 HKEY_CLASSES_ROOT 하위 트리에 저장됩니다.

레지스트리에서 파일 형식 하위 키를 만들 때 선행 기간(.)을 포함하는 것이 중요합니다. 예를 들어 짧은 확장명 .myp 및 긴 확장명 .myp-file이 있는 파일 형식을 MyProgram이라는 애플리케이션으로 열려면 다음 구문을 사용합니다.

HKEY_CLASSES_ROOT
   .myp
      (Default) = ApplicationVendor.MyProgram
   .myp-file
      (Default) = ApplicationVendor.MyProgram
   ApplicationVendor.MyProgram
      (Default) = MyProgram Application

앞의 예제와 같이 짧은 파일 이름 확장명(.myp)도 등록하는 경우 긴 확장명(.myp-file)에 대한 하위 키도 만들어야 합니다. 자세한 내용은 파일 형식 처리기를 참조하세요.

선택적 하위 키 및 파일 형식 확장자 특성 설정

레지스트리의 파일 형식 확장명 항목에는 몇 가지 선택적 하위 키 및 특성이 있습니다.

파일 연결에서 사용되는 파일 형식 확장명 항목은 다음 표에 설명되어 있습니다. 모든 값은 REG_SZ 형식입니다.

레지스트리 항목 작업
기본값 확장 하위 키의 기본값을 연결된 ProgID로 설정합니다.
콘텐츠 유형 콘텐츠 형식 값을 파일 형식의 MIME 콘텐츠 형식으로 설정합니다.
OpenWithList 사용하지 마십시오. 이 하위 키에는 파일 형식에 대한 열기 대화 상자 항목에 표시되고 Windows XP 이전의 운영 체제에서 .exe 애플리케이션용으로만 제공되는 애플리케이션용 애플리케이션 하위 키가 하나 이상 포함되어 있습니다. 대신 OpenWithProgIds를 사용합니다.
OpenWithProgIds 이 하위 키에는 이 파일 형식에 대한 대체 ProgID 목록이 포함되어 있습니다. 이러한 ProgID에 대한 프로그램은 열기 메뉴 에 표시되며 파일 형식에 대한 기본 Windows 스토어 앱으로 사용할 수 있습니다. 애플리케이션이 기본값을 변경하여 이 파일 형식을 인수할 때마다 이 목록에 항목도 추가해야 합니다.
PerceivedType PerceivedType 값을 파일이 속한 PerceivedType(있는 경우)으로 설정합니다. 이 문자열은 Windows Vista 이전의 Windows 버전에서 사용되지 않습니다. 자세한 내용은 인식된 형식 및 애플리케이션 등록을 참조하세요.

 

파일 이름 확장명 하위 키의 일반적인 형식은 다음과 같습니다. 모든 항목 형식은 REG_SZ 형식입니다.

HKEY_CLASSES_ROOT
   .ext
      (Default) = ProgID.ext.1
      Content Type = MIME content type
      PerceivedType = PerceivedType
      OpenWithProgids
         ProgID2.ext.1
         ProgID3.ext.1
      ProgID.ext.1
         shellnew

파일 형식에 대한 중요한 고려 사항은 다음과 같습니다.

  • HKEY_CLASSES_ROOT 하위 트리는 HKEY_CURRENT_USER 소프트웨어 클래스 \HKEY_LOCAL_MACHINE\소프트웨어\\클래스를 병합하여 형성된 보기입니다.

  • 일반적으로 HKEY_CLASSES_ROOT 읽기 위한 것이지만 기록되지는 않습니다. 자세한 내용은 HKEY_CLASSES_ROOT 문서를 참조하세요.

  • 특정 컴퓨터에 전역적으로 파일 형식을 등록하려면 HKEY_LOCAL_MACHINE\소프트웨어\클래스 하위 키에서 파일 형식에 대한 항목을 만듭니다.

  • 파일 형식 등록을 현재 사용자에게만 표시하려면 HKEY_CURRENT_USER\소프트웨어\클래스 하위 키에서 파일 형식에 대한 항목을 만듭니다.

  • 애플리케이션은 다음 레지스트리 예제와 같이 열기 또는 재생과 같은 동사의 자체 구현을 제공할 수 있습니다.

    HKEY_CLASSES_ROOT
       Applications
          ApplicationName.exe
             shell
                verb
    

    동사 하위 키의 하위 키에는 명령줄 및 놓기 대상 메서드인 commandDropTarget이 포함됩니다.

  • 파일 연결을 만들거나 변경할 때는 변경했음을 시스템에 알리는 것이 중요합니다. SHChangeNotify를 호출하고 SHCNE_ASSOCCHANGED 이벤트를 지정하여 수행합니다. SHChangeNotify를 호출하지 않으면 시스템이 다시 부팅될 때까지 변경 내용이 인식되지 않을 수 있습니다.

  • 파일 연결과 관련된 레지스트리 정보를 검색하려면 IQueryAssociations 인터페이스를 사용합니다. 이 절차를 보여 주는 시나리오는 파일 연결 샘플 시나리오를 참조하세요.

참고

앱 경로 및애플리케이션 레지스트리 하위 키는 모두 애플리케이션을 대신하여 시스템의 동작을 등록하고 제어하는 데 사용됩니다. 이 기능에 대한 자세한 내용은 애플리케이션 등록을 참조하세요.

 

제거 중 레지스트리 정보 삭제

애플리케이션을 제거할 때는 제거의 일부로 ProgID 및 해당 애플리케이션과 연결된 대부분의 기타 레지스트리 정보를 삭제해야 합니다. 그러나 파일 형식의 소유권을 가져온 애플리케이션(파일 형식의 HKEY_CLASSES_ROOT.extension\ 하위 키의 기본값을 애플리케이션의 ProgID로 설정)은 제거할 때 해당 값을 제거하려고 시도해서는 안 됩니다. 기본값에 대한 데이터를 그대로 두면 다른 애플리케이션이 파일 형식의 소유권을 가져와서 원래 애플리케이션이 설치된 후 기본값을 덮어쓸지 여부를 결정하는 데 어려움이 없습니다. Windows는 ProgID에 등록된 ProgID가 있는 경우에만 기본값을 적용합니다. ProgID가 등록 취소된 경우 무시됩니다.

다른 파일 형식 소유권 정보는 HKEY_CURRENT_USER 하위 트리에 저장되며 참조하는 애플리케이션이 등록된 경우에만 사용됩니다. 따라서 애플리케이션을 제거할 때 이 데이터를 제거할 필요가 없습니다.

예를 들어 애플리케이션을 제거하기 전의 레지스트리 상태를 보여 주는 예제는 다음과 같습니다.

HKEY_CLASSES_ROOT
   .mp3
      (Default) = YourProgID
   YourProgID
      shell
         open
            command
               (Default) = yourapp.exe %1

다음은 애플리케이션이 제거된 후 동일한 레지스트리 항목의 상태를 보여줍니다.

HKEY_CLASSES_ROOT
   .mp3
      (Default) = YourProgID
   YourProgID subkey removed

열려 있는 메타데이터를 지원하는 파일 형식

Windows 7 이상에서는 다음 파일 형식이 열려 있는 메타데이터를 지원합니다.

파일 형식 파일 이름 확장명
Office 2007 문서 .docx, .xlsx, .pptx
Office 97-2003 문서 .doc, .xls, .ppt
저장된 검색 .search-ms
Windows 미디어 기반 형식(ASF(고급 스트리밍 형식) 컨테이너) .wmv, .wma
MP4(속성 처리기) .mp4, .m4a, .m4v, .mp4v, .m4p, .m4b, .3gp, .3gpp, .3gp2, .mov

 

애플리케이션 등록

파일 연결 작동 방식

파일 형식 또는 종류별 콘텐츠 보기

파일 형식 검증 도구

파일 형식 처리기

프로그래밍 식별자

인식된 형식

연결 배열