Sdílet prostřednictvím


Typy souborů

Toto téma vysvětluje, jak vytvořit nové typy souborů a jak přidružit aplikaci k typu souboru a dalším dobře definovaným typům souborů. Soubory se sdílenou společnou příponou názvu souboru (.doc, .htmlatd.) mají stejný typ. Pokud například vytvoříte nový textový editor, můžete použít existující .txt typ souboru. V jiných případech možná budete muset vytvořit nový typ souboru.

Toto téma je uspořádané takto:

Další informace najdete v následujících tématech:

Veřejné a soukromé typy souborů

Veřejné typy souborů se také označují jako oblíbené nebo kolizí, protože konkurenční aplikace mohou být k těmto typům souborů přidruženy. Mezi charakteristiky veřejných typů souborů patří:

  • Obvykle jsou definovány orgány norem a/nebo jsou podporovány jejich definováním organizací jako výměnných formátů.
  • Často se vyměňují mezi počítači a uživateli pro různé účely.
  • Musí být podporovány na mnoha různých platformách.
  • Aplikace od více dodavatelů je pravděpodobně zpracují.

Mezi příklady typů souborů, které jsou považovány za veřejné, patří typy souborů obrázků .png, .gif, .jpga .bmpa typy zvuků .wav, .mp3a .au.

Na rozdíl od typů veřejných souborů mají soukromé nebo proprietární typy souborů obvykle formát, který je implementovaný a srozumitelný pouze jednou aplikací nebo dodavatelem. V důsledku toho jsou typy privátních souborů obvykle náchylné ke konfliktům mezi aplikacemi. Některé typy souborů můžou začínat jako soukromé typy souborů, ale později se stanou veřejnými typy souborů.

Poznámka

Systém Windows nerozlišuje mezi veřejnými a privátními typy souborů. Rozdíl je relevantní pouze při rozhodování o vaší volbě registrace typu souboru.

 

Registrace typu souboru

Chcete-li přidružit typ souboru k existující aplikaci, vyhledejte v registru ID aplikace. Pokud chcete přidružit typ souboru k nové aplikaci, definujte ProgID pro vaši aplikaci. Informace o definování nového identifikátoru ProgID naleznete v tématu Programové identifikátory.

Podklíče přípony názvu souboru mají následující obecný formulář: příponu=ProgID. Podklíče přípony názvu souboru jsou uloženy v podstromu HKEY_CLASSES_ROOT.

Při vytváření podklíčů typu souboru v registru je důležité zahrnout úvodní tečku (.). Pokud například chcete typ souboru s krátkou příponou .myp a dlouhým příponou .myp-file otevřít pomocí aplikace s názvem MyProgram, použijte následující syntaxi:

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

Jak je znázorněno v předchozím příkladu, pokud také zaregistrujete krátkou příponu názvu souboru (.myp), měli byste vytvořit podklíč pro dlouhou příponu (.myp-file). Další informace naleznete v tématu obslužné rutiny typu souboru.

Nastavení volitelných podklíčů a atributů přípony typu souboru

Položky přípony typu souboru v registru mají několik volitelných podklíčů a atributů.

Položky přípony typu souboru používané přidruženími souborů jsou popsány v následující tabulce. Všechny hodnoty jsou typu REG_SZ.

Položka registru Akce
Výchozí Nastavte výchozí hodnotu podklíče rozšíření na Identifikátor ProgID, na který je propojen.
Typ obsahu Nastavte hodnotu Typ obsahu na typ obsahu MIME typu souboru.
OpenWithList Nepoužívejte. Tento podklíč obsahuje jeden nebo více podklíčů aplikace pro aplikace, které se zobrazí v položce dialogového okna Otevřít s pro typ souboru a je určen pouze pro .exe aplikace v operačních systémech před systémem Windows XP. Místo toho použijte OpenWithProgIds.
OpenWithProgIds Tento podklíč obsahuje seznam alternativních identifikátorů ProgID pro tento typ souboru. Programy pro tyto identifikátory ProgID se zobrazí v nabídce Otevřít s a jsou k dispozici jako výchozí aplikace pro Windows Store pro typ souboru. Pokaždé, když aplikace převezme tento typ souboru změnou výchozí hodnoty, měla by také přidat položku do tohoto seznamu.
Vnímaný typ Nastavte hodnotu PerceivedType na VnímanéType, do které soubor patří, pokud existuje. Tento řetězec nepoužívá verze Systému Windows starší než Windows Vista. Další informace naleznete v tématu vnímané typy a registrace aplikace.

 

Obecná forma podklíče přípony názvu souboru je následující. Všechny typy položek jsou typu 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

Mezi důležité aspekty typů souborů patří:

  • Podstrom HKEY_CLASSES_ROOT je zobrazení vytvořené sloučením tříd HKEY_CURRENT_USER\Software\Tříd a HKEY_LOCAL_MACHINE\Třídy\softwaru

  • Obecně platí, že HKEY_CLASSES_ROOT je určena ke čtení z textu, ale ne k zápisu. Další informace najdete v HKEY_CLASSES_ROOT článku.

  • Chcete-li zaregistrovat typ souboru globálně v určitém počítači, vytvořte položku pro typ souboru v podklíči HKEY_LOCAL_MACHINE\Software\Třídy.

  • Chcete-li, aby byla registrace typu souboru viditelná pouze aktuálnímu uživateli, vytvořte položku pro typ souboru v podklíči HKEY_CURRENT_USER\Software\Třídy.

  • Aplikace může poskytnout vlastní implementaci příkazu, například otevření nebo přehrávání, jak je znázorněno v následujícím příkladu registru.

    HKEY_CLASSES_ROOT
       Applications
          ApplicationName.exe
             shell
                verb
    

    Podklíče podklíče příkazu zahrnují příkazový řádek a metodu cíle přetažení: příkaz a DropTarget.

  • Při vytváření nebo změně přidružení souboru je důležité upozornit systém, že jste provedli změnu. Provedete to voláním SHChangeNotify a zadáním SHCNE_ASSOCCHANGED události. Pokud nevoláte SHChangeNotify, změna se nemusí rozpoznat, dokud se systém nerestartuje.

  • Chcete-li načíst informace registru týkající se přidružení souborů, použijte rozhraní IQueryAssociations. Scénář, který znázorňuje tento postup, naleznete v tématu Ukázkový scénář přidružení souboru.

Poznámka

Cesty aplikací i podklíče registru aplikace se používají k registraci a řízení chování systému jménem aplikací. Podrobnější informace o této funkci naleznete v tématu Registrace aplikace.

 

Odstranění informací registru během odinstalace

Při odinstalaci aplikace by se v rámci odinstalace měly odstranit identifikátory ProgID a většina dalších informací registru přidružených k této aplikaci. Aplikace, které převzaly vlastnictví typu souboru (nastavením výchozí hodnoty typu souboru HKEY_CLASSES_ROOT\.extension podklíčem progID aplikace), by se však při odinstalaci neměly pokoušet tuto hodnotu odebrat. Ponechání dat pro výchozí hodnotu zabraňuje obtížné určit, zda jiná aplikace převzala vlastnictví typu souboru a přepsala výchozí hodnotu po instalaci původní aplikace. Systém Windows respektuje výchozí hodnotu pouze v případě, že je nalezen identifikátor ProgID zaregistrovaný. Pokud je identifikátor ProgID zrušený, bude ignorován.

Všimněte si, že další informace o vlastnictví typu souboru jsou uloženy v podstromu HKEY_CURRENT_USER a také se používají pouze v případech, kdy je aplikace, na kterou odkazuje, zaregistrována. Proto tato data nemusí být při odinstalaci aplikace odebrána.

Například následující příklad ukazuje stav registru před odinstalací aplikace:

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

Následující příklad ukazuje stav těchto stejných položek registru po odinstalaci aplikace.

HKEY_CLASSES_ROOT
   .mp3
      (Default) = YourProgID
   YourProgID subkey removed

Typy souborů, které podporují otevřená metadata

V systému Windows 7 a novějších podporují následující typy souborů otevřená metadata.

Typ souboru Přípony názvů souborů
Dokumenty Office 2007 .docx, .xlsx, .pptx
Dokumenty Office 97–2003 .doc, .xls, .ppt
Uložené hledání .search-ms
Formáty založené na službě Windows Media (kontejner Advanced Streaming Format (ASF) .wmv, .wma
MP4 (obslužná rutina vlastností) .mp4, .m4a, .m4v, .mp4v, .m4p, .m4b, .3gp, .3gpp, .3gp2, .mov

 

registrace aplikace

fungování přidružení souborů

zobrazení obsahu podle typu souboru nebo typu

typ souboru

obslužné rutiny typu souboru

programových identifikátorů

vnímané typy

pole přidružení