Slovesa a přidružení souborů
Když uživatel klikne pravým tlačítkem myši na objekt prostředí, jako je například soubor, zobrazí prostředí místní nabídku (místní). Tato nabídka obsahuje seznam příkazů, které uživatel může vybrat, aby u položky provedl různé akce. Tyto příkazy se také označují jako položky místní nabídky nebo příkazy. Místní nabídky je možné přizpůsobit.
Toto téma je uspořádané takto:
- Úvod do místních nabídek pro objekty systému souborů
- příkazy místní nabídky
- streamovat položky systému souborů a výsledky OpenSearch.
- zaregistrovat aplikaci pro zpracování libovolných typů souborů
- dalších prostředků
- související témata
Úvod do místních nabídek pro objekty systému souborů
Vzhledem k tomu, že místní nabídky se často používají ke správě souborů, poskytuje prostředí sadu výchozích příkazů, jako je například Vyjmout a Kopírovat, které se zobrazí v místní nabídce pro všechny objekty systému souborů, jako je soubor nebo složka.
Následující příklad znázorňuje výchozí místní nabídku zobrazenou po kliknutí pravým tlačítkem myši na MyFile.xyz-ms.
Důvodem, proč se pro MyFile.xyz-ms zobrazí výchozí místní nabídka, je skutečnost, že .xyz-ms není členem registrovaného typu souboru. Naproti tomu .txt je registrovaný typ souboru. Pokud kliknete pravým tlačítkem myši na soubor .txt, zobrazí se místní nabídka se třemi dalšími příkazy v jeho horní části: Tisk, Upravit a Otevřít pomocí.
Chcete-li rozšířit místní nabídku pro typ souboru, musíte pro každý příkaz vytvořit položku registru. Složitějším přístupem je implementace obslužné rutiny místní nabídky (slovesa), která umožňuje rozšířit místní nabídku pro typ souboru na jednotlivé soubory. Další informace naleznete v tématu Vytváření obslužných rutin místní nabídkya kontextové nabídky.
Přidání příkazů do místní nabídky
Obslužná rutina místní nabídky je obslužná rutina typu souboru, která přidává příkazy do existující místní nabídky. Obslužné rutiny místní nabídky jsou přidruženy k typu souboru a jsou volána při každém zobrazení místní nabídky pro člena třídy. Prostředí zkontroluje registr a zjistí, jestli je typ souboru přidružený k jakýmkoli obslužným rutinám místní nabídky. Pokud ano, prostředí dotazuje obslužné rutiny na další položky místní nabídky.
Příkazy místní nabídky
Každý příkaz v místní nabídce je identifikován v registru jeho slovesem. Tyto příkazy jsou stejné jako příkazy používané ShellExecuteEx při programovém spouštění aplikací.
Příkaz je jednoduchý textový řetězec, který shell používá k identifikaci přidruženého příkazu. Každé sloveso odpovídá řetězci příkazu použitému ke spuštění příkazu v okně konzoly nebo dávkovém souboru (.bat).
Například otevřené sloveso obvykle spustí program pro otevření souboru. Řetězec příkazu obvykle vypadá takto:
"My Program.exe" "%1"
Pokud některý prvek příkazového řetězce obsahuje nebo může obsahovat mezery, musí být uzavřen v uvozovkách. V opačném případě, pokud prvek obsahuje mezeru, nebude správně parsovat. Například "Moje Program.exe" spustí aplikaci správně. Pokud použijete Moje Program.exe bez uvozovek, systém se pokusí spustit Moje s Program.exe jako prvním argumentem příkazového řádku. Vždy byste měli použít uvozovky s argumenty, jako je "%1", které jsou rozbalené na řetězce prostředím, protože si nemůžete být jisti, že řetězec nebude obsahovat mezeru.
Slovesa mohou mít také přidružený zobrazovaný název, který se zobrazí v místní nabídce místo samotného řetězce slovesa. Například zobrazovaný řetězec pro openas je Otevřít v. Stejně jako normální řetězce nabídek, včetně ampersand znaku v řetězci zobrazení, umožňuje výběr příkazu pomocí klávesnice.
Streamovat položky systému souborů a výsledky OpenSearch
Ve Windows 7 a novějších verzích je podporováno připojení externích zdrojů ke klientovi Systému Windows prostřednictvím protokolu OpenSearch. To umožňuje uživatelům prohledávat vzdálené úložiště dat a zobrazovat výsledky z Průzkumníka Windows. Standard OpenSearch verze 1.1 definuje jednoduché formáty souborů, které lze použít k popisu způsobu, jakým má klient dotazovat webovou službu pro úložiště dat a jak by služba měla vrátit výsledky, které má klient vykreslit.
Možná budete muset streamovat nesouborové systémové položky, abyste se vyhnuli nutnosti stahovat položky v případě Výsledků OpenSearch. Funkce federovaného vyhledávání umožňuje prohledávat položky z jiných než systémových umístění, která podporují OpenSearch, například sharepointové a jiné weby založené na webových službách. Při vyvolání sloves na těchto položkách systém stáhne dočasnou verzi položky a předá ji do implementace příkazu. Implementátory sloves se doporučuje, aby se zabránilo nutnosti stáhnout soubor registrací sady schémat adres URL, která příkaz podporuje pro streamování položek. Příkazy to dělají pomocí SupportedProtocols klíč registru.
Registrace aplikace pro zpracování libovolných typů souborů
Definování položek místní nabídky pro konkrétní typ souboru umožňuje určit, jak přidružená aplikace otevře člena typu souboru. Aplikace však mohou také zaregistrovat samostatný výchozí postup, který se má použít, když se uživatel pokusí použít aplikaci k otevření typu souboru, který není přidružen k aplikaci. Výchozí postup zaregistrujete stejným způsobem jako položky místní nabídky. Podrobnější informace o definování položek místní nabídky naleznete v tématu Vytváření obslužných rutin místní nabídky.
Výchozí postup slouží ke dvěma základním účelům. Jedním z nich je určit, jak se má aplikace vyvolat, aby se otevřel libovolný typ souboru. Můžete například použít příznak příkazového řádku k označení, že se otevírá neznámý typ souboru. Dalším účelem je definovat různé vlastnosti typu souboru, například položky místní nabídky a ikonu. Pokud uživatel přidruží vaši aplikaci k dalšímu typu souboru, bude mít tato třída tyto vlastnosti. Pokud byl další typ souboru dříve přidružen k jiné aplikaci, tyto charakteristiky nahradí originály.
Pokud chcete zaregistrovat výchozí postup, umístěte stejné klíče registru, které jste vytvořili pro Id skupiny vaší aplikace, pod podklíč aplikace HKEY_CLASSES_ROOT\Applications. Můžete také zahrnout hodnotu FriendlyAppName, která systému poskytne popisný název vaší aplikace. Popisný název aplikace může být také extrahován z jeho spustitelného souboru, ale pouze v případě, že chybí hodnota FriendlyAppName.
Následující ukázková položka registru znázorňuje výchozí postup pro MyProgram.exe, který definuje popisný název a několik položek místní nabídky. Řetězce příkazů zahrnují příznak /a, který aplikaci oznámí, že otevírá libovolný typ souboru. Pokud zahrnete podklíč DefaultIcon, měli byste použít obecnou ikonu.
HKEY_CLASSES_ROOT
MyProgram.exe
shell
open
command
(Default) = C:\MyDir\MyProgram.exe /a "%1"
print
command
(Default) = C:\MyDir\MyProgram.exe /a /p "%1"
printto
command
(Default) = C:\MyDir\MyProgram.exe /a /p "%1" "%2"
Další zdroje informací
- Další pozadí najdete v tématu Úvod do přidružení souborů.
- Koncepční informace o rozšíření prostředí pomocí obslužných rutin typů souborů najdete v tématu Vytváření obslužných rutin rozšíření prostředí.
Související témata
-
osvědčené postupy pro obslužné rutiny místní nabídky a více příkazů výběru
-
výběr statického nebo dynamického příkazu pro místní nabídku
-
Referenční místní nabídky