Integrar seu aplicativo da área de trabalho ao Windows usando as extensões de pacote
Se o aplicativo da área de trabalho estiver empacotado (tiver uma identidade de pacote no runtime), você poderá usar extensões para integrá-lo ao Windows usando extensões predefinidas no manifesto do pacote. Veja também Recursos que exigem a identidade do pacote.
Por exemplo, use uma extensão para criar uma exceção de firewall, fazer com que o aplicativo seja o padrão para um tipo de arquivo ou indicar blocos iniciais para o aplicativo. Para usar uma extensão, basta adicionar alguns XML ao arquivo de manifesto do pacote do seu aplicativo. Nenhum código é necessário.
Este tópico descreve essas extensões e as tarefas que você pode executar com elas.
Observação
Os recursos descritos neste tópico exigem que o aplicativo seja empacotado (tenha uma identidade de pacote no runtime). Isso inclui aplicativos empacotados (confira Criar um projeto para um aplicativo da área de trabalho do WinUI 3 empacotado) e aplicativos empacotados com localização externa (confira Conceder identidade do pacote empacotando-o com localização externa). Veja também Recursos que exigem a identidade do pacote.
Transição de usuários para o aplicativo
Ajude os usuários com a transição para o aplicativo empacotado.
- Redirecione seu aplicativo da área de trabalho existente para o aplicativo empacotado
- Aponte os blocos Iniciar e os botões da barra de tarefas existentes para o aplicativo empacotado
- Faça o seu aplicativo empacotado abrir arquivos em vez do seu aplicativo da área de trabalho
- Associe seu aplicativo empacotado a um conjunto de tipos de arquivos
- Adicione opções aos menus de contexto dos arquivos que têm um determinado tipo de arquivo
- Abra certos tipos de arquivos diretamente usando um URL
Redirecione seu aplicativo da área de trabalho existente para o aplicativo empacotado
Quando os usuários iniciarem o aplicativo da área de trabalho não empacotado existente, você poderá configurar o aplicativo empacotado para ser aberto no lugar dele.
Observação
Esse recurso é compatível com o Windows Insider Preview build 21313 e versões posteriores.
Para habilitar esse comportamento:
- Adicione entradas do registro para redirecionar o executável do seu aplicativo da área de trabalho não empacotado para o aplicativo empacotado.
- Registre seu aplicativo empacotado para ser iniciado quando o executável do aplicativo da área de trabalho não empacotado for iniciado.
Adicione entradas do registro para redirecionar o executável do seu aplicativo da área de trabalho não empacotado
- No registro, crie uma subchave com o nome do arquivo executável do seu aplicativo da área de trabalho na chave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options.
- Nessa subchave, adicione os seguintes valores:
- AppExecutionAliasRedirect (DWORD): se definido como 1, o sistema verificará se há uma extensão de pacote AppExecutionAlias com o mesmo nome do executável. Se a extensão AppExecutionAlias estiver habilitada, o aplicativo empacotado será ativado usando esse valor.
- AppExecutionAliasRedirectPackages (REG_SZ): o sistema será redirecionado apenas para os pacotes listados. Os pacotes são listados pelo nome da família de pacotes, separados por ponto-e-vírgula. Se o valor especial * for usado, o sistema será redirecionado para um AppExecutionAlias de qualquer pacote.
Por exemplo:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\contosoapp.exe
AppExecutionAliasRedirect = 1
AppExecutionAliasRedirectPackages = "Microsoft.WindowsNotepad_8weky8webbe"
Registre seu aplicativo empacotado a ser iniciado
No manifesto do pacote, adicione uma extensão AppExecutionAlias que registra o nome do executável do seu aplicativo da área de trabalho não empacotado. Por exemplo:
<Package
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
IgnorableNamespaces="uap3">
<Applications>
<Application>
<Extensions>
<uap3:Extension Category="windows.appExecutionAlias" EntryPoint="Windows.FullTrustApplication">
<uap3:AppExecutionAlias>
<desktop:ExecutionAlias Alias="contosoapp.exe" />
</uap3:AppExecutionAlias>
</uap3:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Desabilite o redirecionamento
Os usuários podem desativar o redirecionamento e iniciar o executável do seu aplicativo não empacotado por meio destas opções:
- Eles podem desinstalar a versão empacotada do aplicativo.
- O usuário pode desabilitar a entrada AppExecutionAlias do aplicativo empacotado na página Aliases de execução do aplicativo em Configurações.
Namespaces do XML
http://schemas.microsoft.com/appx/manifest/uap/windows10/3
http://schemas.microsoft.com/appx/manifest/desktop/windows10
Elementos e atributos da extensão
<uap3:Extension
Category="windows.appExecutionAlias"
EntryPoint="Windows.FullTrustApplication">
<uap3:AppExecutionAlias>
<desktop:ExecutionAlias Alias="[AliasName]" />
</uap3:AppExecutionAlias>
</uap3:Extension>
Nome | Descrição |
---|---|
Categoria | Sempre windows.appExecutionAlias . |
Executável | O caminho relativo para o executável para iniciar quando o alias é invocado. |
Alias | O nome abreviado para o seu aplicativo. Deve sempre terminar com a extensão ".exe". |
Aponte os blocos Iniciar e os botões da barra de tarefas existentes para o aplicativo empacotado
Os usuários podem ter colocado seu aplicativo desktop na barra de tarefas ou no menu Iniciar. Você pode apontar esses atalhos para seu novo aplicativo empacotado.
Namespace de XML
http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3
Elementos e atributos da extensão
<Extension Category="windows.desktopAppMigration">
<DesktopAppMigration>
<DesktopApp AumId="[your_app_aumid]" />
<DesktopApp ShortcutPath="[path]" />
</DesktopAppMigration>
</Extension>
Encontre a referência do esquema completo aqui.
Nome | Descrição |
---|---|
Categoria | Sempre windows.desktopAppMigration . |
AumID | A ID de modelo de usuário do aplicativo do seu aplicativo empacotado. |
ShortcutPath | O caminho para arquivos .lnk que iniciam a versão desktop do seu aplicativo. |
Exemplo
<Package
xmlns:rescap3="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3"
IgnorableNamespaces="rescap3">
<Applications>
<Application>
<Extensions>
<rescap3:Extension Category="windows.desktopAppMigration">
<rescap3:DesktopAppMigration>
<rescap3:DesktopApp AumId="[your_app_aumid]" />
<rescap3:DesktopApp ShortcutPath="%USERPROFILE%\Desktop\[my_app].lnk" />
<rescap3:DesktopApp ShortcutPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\[my_app].lnk" />
<rescap3:DesktopApp ShortcutPath="%PROGRAMDATA%\Microsoft\Windows\Start Menu\Programs\[my_app_folder]\[my_app].lnk"/>
</rescap3:DesktopAppMigration>
</rescap3:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Exemplo relacionado
Visualizador de imagens do WPF com transição/migração/desinstalação
Faça o aplicativo empacotado abrir arquivos em vez do seu aplicativo da área de trabalho
Você pode certificar-se de que os usuários abrem seu novo aplicativo empacotado por padrão para tipos específicos de arquivos ao invés de abrir a versão da área de trabalho do seu aplicativo.
Para fazer isso, você especifica o identificador programático (ProgID) de cada aplicativo do qual você deseja herdar associações de arquivos.
Namespaces XML
http://schemas.microsoft.com/appx/manifest/uap/windows10/3
http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3
Elementos e atributos da extensão
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]">
<MigrationProgIds>
<MigrationProgId>"[ProgID]"</MigrationProgId>
</MigrationProgIds>
</FileTypeAssociation>
</Extension>
Encontre a referência do esquema completo aqui.
Nome | Descrição |
---|---|
Categoria | Sempre windows.fileTypeAssociation . |
Nome | O nome da associação de tipo de arquivo. Você pode usar esse nome para organizar e agrupar tipos de arquivo. O nome deve ter todos os caracteres minúsculos sem espaços. |
MigrationProgId | O identificador programático (ProgID) que descreve o aplicativo, o componente e a versão do aplicativo da área de trabalho do qual você quer herdar associações de arquivo. |
Exemplo
<Package
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
xmlns:rescap3="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3"
IgnorableNamespaces="uap3, rescap3">
<Applications>
<Application>
<Extensions>
<uap:Extension Category="windows.fileTypeAssociation">
<uap3:FileTypeAssociation Name="myfiletypes">
<rescap3:MigrationProgIds>
<rescap3:MigrationProgId>Foo.Bar.1</rescap3:MigrationProgId>
<rescap3:MigrationProgId>Foo.Bar.2</rescap3:MigrationProgId>
</rescap3:MigrationProgIds>
</uap3:FileTypeAssociation>
</uap:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Exemplo relacionado
Visualizador de imagens do WPF com transição/migração/desinstalação
Associe o aplicativo empacotado a um conjunto de tipos de arquivos
Seu aplicativo empacotado pode ser associado a extensões de tipo de arquivo. Se um usuário clicar com o botão direito do mouse em um arquivo no Explorador de Arquivos e depois selecionar a opção Abrir com, seu aplicativo aparecerá na lista de sugestões. Para obter mais informações sobre como usar essa extensão, confira Integrar um aplicativo da área de trabalho empacotado com o Explorador de Arquivos.
Namespaces do XML
http://schemas.microsoft.com/appx/manifest/uap/windows10
http://schemas.microsoft.com/appx/manifest/uap/windows10/3
Elementos e atributos da extensão
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]">
<SupportedFileTypes>
<FileType>"[file extension]"</FileType>
</SupportedFileTypes>
</FileTypeAssociation>
</Extension>
Encontre a referência do esquema completo aqui.
Nome | Descrição |
---|---|
Categoria | Sempre windows.fileTypeAssociation . |
Nome | O nome da associação de tipo de arquivo. Você pode usar esse nome para organizar e agrupar tipos de arquivo. O nome deve ter todos os caracteres minúsculos sem espaços. |
FileType | A extensão de arquivo compatível com seu aplicativo. |
Exemplo
<Package
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
IgnorableNamespaces="uap, uap3">
<Applications>
<Application>
<Extensions>
<uap:Extension Category="windows.fileTypeAssociation">
<uap3:FileTypeAssociation Name="mediafiles">
<uap:SupportedFileTypes>
<uap:FileType>.avi</uap:FileType>
</uap:SupportedFileTypes>
</uap3:FileTypeAssociation>
</uap:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Exemplo relacionado
Visualizador de imagens do WPF com transição/migração/desinstalação
Adicione opções aos menus de contexto dos arquivos que têm um determinado tipo de arquivo
Essa extensão permite que você adicione opções ao menu de contexto exibido quando os usuários clicam com o botão direito do mouse em um arquivo no Explorador de Arquivos. Essas opções fornecem aos usuários outras maneiras de interagir com o arquivo, como imprimir, editar ou visualizar o arquivo. Para obter mais informações sobre como usar essa extensão, confira Integrar um aplicativo da área de trabalho empacotado com o Explorador de Arquivos.
Namespaces do XML
http://schemas.microsoft.com/appx/manifest/uap/windows10
http://schemas.microsoft.com/appx/manifest/uap/windows10/2
http://schemas.microsoft.com/appx/manifest/uap/windows10/3
Elementos e atributos da extensão
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]">
<SupportedVerbs>
<Verb Id="[ID]" Extended="[Extended]" Parameters="[parameters]">"[verb label]"</Verb>
</SupportedVerbs>
</FileTypeAssociation>
</Extension>
Encontre a referência do esquema completo aqui.
Nome | Descrição |
---|---|
Categoria | Sempre windows.fileTypeAssociation . |
Nome | O nome da associação de tipo de arquivo. Você pode usar esse nome para organizar e agrupar tipos de arquivo. O nome deve ter todos os caracteres minúsculos sem espaços. |
Verb | O nome que aparece no menu de contexto do Explorador de Arquivos. Essa sequência é localizável usando ms-resource . |
Id | A Id exclusiva do verbo. Se o aplicativo for um aplicativo UWP, isso será transmitido para seu aplicativo como parte de seus argumentos do evento de ativação para que ele possa manipular a seleção do usuário de maneira adequada. Se o seu aplicativo for um aplicativo empacotado totalmente confiável, ele receberá parâmetros (veja o próximo marcador). |
Parâmetros | A lista de parâmetros de argumento e valores associados ao verbo. Se o seu aplicativo for um aplicativo empacotado totalmente confiável, esses parâmetros serão passados para o aplicativo como eventos quando o aplicativo for ativado. Você pode personalizar o comportamento do seu aplicativo com base em diferentes verbos de ativação. Se uma variável puder conter um caminho de arquivo, envolva o valor do parâmetro entre aspas. Isso evitará problemas nos casos em que o caminho inclua espaços. Se o seu aplicativo for um aplicativo UWP, você não poderá passar os parâmetros. O aplicativo recebe a Id em vez disso (veja a bala anterior). |
Estendido | Especifica que o verbo só aparece se o usuário mostra o menu de contexto segurando a tecla Shift antes de clicar com o botão direito do mouse no arquivo. Esse atributo é opcional e o padrão é um valor False (por exemplo, mostrar sempre o verbo) se não listado. Você especifica esse comportamento individualmente para cada verbo (com exceção de "Abrir", que é sempre False). |
Exemplo
<Package
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
IgnorableNamespaces="uap, uap2, uap3">
<Applications>
<Application>
<Extensions>
<uap:Extension Category="windows.fileTypeAssociation">
<uap3:FileTypeAssociation Name="myfiletypes">
<uap2:SupportedVerbs>
<uap3:Verb Id="Edit" Parameters="/e "%1"">Edit</uap3:Verb>
<uap3:Verb Id="Print" Extended="true" Parameters="/p "%1"">Print</uap3:Verb>
</uap2:SupportedVerbs>
</uap3:FileTypeAssociation>
</uap:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Exemplo relacionado
Visualizador de imagens do WPF com transição/migração/desinstalação
Abra certos tipos de arquivos diretamente usando um URL
Você pode certificar-se de que os usuários abrem seu novo aplicativo empacotado por padrão para tipos específicos de arquivos ao invés de abrir a versão da área de trabalho do seu aplicativo.
Namespaces XML
http://schemas.microsoft.com/appx/manifest/uap/windows10
http://schemas.microsoft.com/appx/manifest/uap/windows10/3
Elementos e atributos da extensão
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]" UseUrl="true" Parameters="%1">
<SupportedFileTypes>
<FileType>"[FileExtension]"</FileType>
</SupportedFileTypes>
</FileTypeAssociation>
</Extension>
Encontre a referência do esquema completo aqui.
Nome | Descrição |
---|---|
Categoria | Sempre windows.fileTypeAssociation . |
Nome | O nome da associação de tipo de arquivo. Você pode usar esse nome para organizar e agrupar tipos de arquivo. O nome deve ter todos os caracteres minúsculos sem espaços. |
UseUrl | Indica se deve abrir arquivos diretamente de um destino de URL. Se você não definir esse valor, as tentativas do seu aplicativo para abrir um arquivo usando uma URL farão com que o sistema primeiro faça o download do arquivo localmente. |
Parâmetros | Parâmetros opcionais. |
FileType | As extensões de arquivo relevante. |
Exemplo
<Package
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
IgnorableNamespaces="uap, uap3">
<Applications>
<Application>
<Extensions>
<uap:Extension Category="windows.fileTypeAssociation">
<uap3:FileTypeAssociation Name="myfiletypes" UseUrl="true" Parameters="%1">
<uap:SupportedFileTypes>
<uap:FileType>.txt</uap:FileType>
<uap:FileType>.doc</uap:FileType>
</uap:SupportedFileTypes>
</uap3:FileTypeAssociation>
</uap:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Executar tarefas de configuração
- Criar a exceção de firewall para o seu aplicativo
- Colocar os arquivos DLL em qualquer pasta do pacote
Criar a exceção de firewall para o seu aplicativo
Se o seu aplicativo precisar de comunicação através de uma porta, você poderá adicionar seu aplicativo à lista de exceções de firewall.
Observação
Para usar a categoria de extensão "windows.firewallRules" (veja abaixo), seu pacote precisa da capacidade restrita Full Trust Permission Level. Confira Lista de capacidades restritas.
namespace XML
http://schemas.microsoft.com/appx/manifest/desktop/windows10/2
Elementos e atributos da extensão
<Extension Category="windows.firewallRules">
<FirewallRules Executable="[executable file name]">
<Rule
Direction="[Direction]"
IPProtocol="[Protocol]"
LocalPortMin="[LocalPortMin]"
LocalPortMax="LocalPortMax"
RemotePortMin="RemotePortMin"
RemotePortMax="RemotePortMax"
Profile="[Profile]"/>
</FirewallRules>
</Extension>
Encontre a referência do esquema completo aqui.
Nome | Descrição |
---|---|
Categoria | Sempre windows.firewallRules |
Executável | O nome do arquivo executável que deseja adicionar à lista de exceções de firewall |
Direção | Indica se a regra é de entrada ou de saída |
IPProtocol | O protocolo de comunicação |
LocalPortMin | O número da porta inferior em uma variedade de números de porta locais. |
LocalPortMax | O número de porta mais alto de uma variedade de números de porta local. |
RemotePortMax | O número da porta inferior em uma variedade de números de porta remota. |
RemotePortMax | O número de porta mais alto de uma variedade de números de porta remota. |
Perfil | O tipo de rede |
Exemplo
<Package
xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
IgnorableNamespaces="desktop2">
<Extensions>
<desktop2:Extension Category="windows.firewallRules">
<desktop2:FirewallRules Executable="Contoso.exe">
<desktop2:Rule Direction="in" IPProtocol="TCP" Profile="all"/>
<desktop2:Rule Direction="in" IPProtocol="UDP" LocalPortMin="1337" LocalPortMax="1338" Profile="domain"/>
<desktop2:Rule Direction="in" IPProtocol="UDP" LocalPortMin="1337" LocalPortMax="1338" Profile="public"/>
<desktop2:Rule Direction="out" IPProtocol="UDP" LocalPortMin="1339" LocalPortMax="1340" RemotePortMin="15"
RemotePortMax="19" Profile="domainAndPrivate"/>
<desktop2:Rule Direction="out" IPProtocol="GRE" Profile="private"/>
</desktop2:FirewallRules>
</desktop2:Extension>
</Extensions>
</Package>
Colocar os arquivos DLL em qualquer pasta do pacote
Use a extensão uap6:LoaderSearchPathOverride para declarar até cinco caminhos de pasta no pacote do aplicativo, em relação ao caminho raiz do pacote do aplicativo, a serem usados no caminho de pesquisa do carregador para os processos do aplicativo.
A ordem de pesquisa de DLL para aplicativos do Windows inclui pacotes no grafo de dependência de pacote se os pacotes têm direitos de execução. Por padrão, isso inclui pacotes principais, opcionais e de estrutura, embora isso possa ser substituído pelo elemento uap6:AllowExecution no manifesto do pacote.
Por padrão, um pacote que está incluído na ordem de pesquisa de DLL inclui o caminho efetivo. Para obter mais informações sobre caminhos efetivos, confira a propriedade EffectivePath (WinRT) e a enumeração PackagePathType (Win32).
Se um pacote especificar uap6:LoaderSearchPathOverride, essas informações serão usadas em vez do caminho efetivo do pacote.
Cada pacote só pode conter uma extensão uap6:LoaderSearchPathOverride. Isso significa que você pode adicionar uma delas ao pacote principal e, em seguida, adicionar uma a cada um dos pacotes opcionais e conjuntos relacionados.
namespace XML
http://schemas.microsoft.com/appx/manifest/uap/windows10/6
Elementos e atributos da extensão
Declare essa extensão no nível do pacote do manifesto do aplicativo.
<Extension Category="windows.loaderSearchPathOverride">
<LoaderSearchPathOverride>
<LoaderSearchPathEntry FolderPath="[path]"/>
</LoaderSearchPathOverride>
</Extension>
Nome | Descrição |
---|---|
Categoria | Sempre windows.loaderSearchPathOverride . |
FolderPath | O caminho da pasta que contém os arquivos DLL. Especifica um caminho relativo à pasta raiz do pacote. Você pode especificar até cinco caminhos em uma extensão. Se você quiser que o sistema procure arquivos na pasta raiz do pacote, use uma cadeia de caracteres vazia para um desses caminhos. Não inclua caminhos duplicados e verifique se os caminhos não contêm barras ou barras invertidas à esquerda e à direita. O sistema não pesquisa subpastas, portanto, certifique-se de listar explicitamente cada pasta que contém os arquivos DLL que você deseja que o sistema carregue. |
Exemplo
<Package
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/6"
IgnorableNamespaces="uap6">
...
<Extensions>
<uap6:Extension Category="windows.loaderSearchPathOverride">
<uap6:LoaderSearchPathOverride>
<uap6:LoaderSearchPathEntry FolderPath=""/>
<uap6:LoaderSearchPathEntry FolderPath="folder1/subfolder1"/>
<uap6:LoaderSearchPathEntry FolderPath="folder2/subfolder2"/>
</uap6:LoaderSearchPathOverride>
</uap6:Extension>
</Extensions>
...
</Package>
Integração com o Explorador de arquivos
Ajude os usuários organizar seus arquivos e interagir com eles de maneiras familiares.
- Definir como seu aplicativo se comporta quando os usuários selecionam e abrem vários arquivos ao mesmo tempo
- Mostrar o conteúdo do arquivo em uma imagem em miniatura dentro do Explorador de Arquivos
- Mostrar o conteúdo do arquivo em um painel de visualização do Explorador de Arquivos
- Permita que os usuários agrupem arquivos usando a coluna Tipo no Explorador de Arquivos
- Disponibilize as propriedades dos arquivos para pesquisa, índice, diálogos de propriedade e o painel de detalhes
- Especificar um manipulador de menu de contexto para um tipo de arquivo
- Fazer os arquivos de seu serviço de nuvem aparecerem no Explorador de Arquivos
Definir como seu aplicativo se comporta quando os usuários selecionam e abrem vários arquivos ao mesmo tempo
Especificar como seu aplicativo se comporta quando um usuário abre vários arquivos simultaneamente.
Namespaces do XML
http://schemas.microsoft.com/appx/manifest/uap/windows10
http://schemas.microsoft.com/appx/manifest/uap/windows10/2
http://schemas.microsoft.com/appx/manifest/uap/windows10/3
Elementos e atributos da extensão
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]" MultiSelectModel="[SelectionModel]">
<SupportedVerbs>
<Verb Id="Edit" MultiSelectModel="[SelectionModel]">Edit</Verb>
</SupportedVerbs>
<SupportedFileTypes>
<FileType>"[FileExtension]"</FileType>
</SupportedFileTypes>
</Extension>
Encontre a referência do esquema completo aqui.
Nome | Descrição |
---|---|
Categoria | Sempre windows.fileTypeAssociation . |
Nome | O nome da associação de tipo de arquivo. Você pode usar esse nome para organizar e agrupar tipos de arquivo. O nome deve ter todos os caracteres minúsculos sem espaços. |
MultiSelectModel | Veja abaixo |
FileType | As extensões de arquivo relevante. |
MultiSelectModel
Os aplicativos da área de trabalho empacotados têm as mesmas três opções do que os aplicativos da área de trabalho comuns.
Player
: o aplicativo é ativado uma vez. Todos os arquivos selecionados são passados para o seu aplicativo como parâmetros de argumento.Single
: o aplicativo é ativado uma vez para o primeiro arquivo selecionado. Outros arquivos são ignorados.Document
: uma nova instância separada do seu aplicativo é ativada para cada arquivo selecionado.
Você pode definir preferências diferentes para diferentes tipos de arquivo e ações. Por exemplo, você pode abrir Documentos no modo Documento e Imagens no modo Player.
Exemplo
<Package
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
IgnorableNamespaces="uap, uap2, uap3">
<Applications>
<Application>
<Extensions>
<uap:Extension Category="windows.fileTypeAssociation">
<uap3:FileTypeAssociation Name="myfiletypes" MultiSelectModel="Document">
<uap2:SupportedVerbs>
<uap3:Verb Id="Edit" MultiSelectModel="Player">Edit</uap3:Verb>
<uap3:Verb Id="Preview" MultiSelectModel="Document">Preview</uap3:Verb>
</uap2:SupportedVerbs>
<uap:SupportedFileTypes>
<uap:FileType>.txt</uap:FileType>
</uap:SupportedFileTypes>
</uap:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Se o usuário abrir 15 ou menos arquivos, a opção padrão para o atributo MultiSelectModel é Player . Caso contrário, o valor padrão é Documento. Os aplicativos UWP sempre são iniciados como Player.
Mostrar o conteúdo do arquivo em uma imagem em miniatura dentro do Explorador de Arquivos
Permita que os usuários vejam uma imagem em miniatura do conteúdo do arquivo quando o ícone do arquivo aparecer no tamanho médio, grande ou extra grande.
namespace XML
http://schemas.microsoft.com/appx/manifest/uap/windows10
http://schemas.microsoft.com/appx/manifest/uap/windows10/2
http://schemas.microsoft.com/appx/manifest/uap/windows10/3
http://schemas.microsoft.com/appx/manifest/desktop/windows10/2
Elementos e atributos da extensão
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]">
<SupportedFileTypes>
<FileType>"[FileExtension]"</FileType>
</SupportedFileTypes>
<ThumbnailHandler
Clsid ="[Clsid ]" />
</FileTypeAssociation>
</Extension>
Encontre a referência do esquema completo aqui.
Nome | Descrição |
---|---|
Categoria | Sempre windows.fileTypeAssociation . |
Nome | O nome da associação de tipo de arquivo. Você pode usar esse nome para organizar e agrupar tipos de arquivo. O nome deve ter todos os caracteres minúsculos sem espaços. |
FileType | As extensões de arquivo relevante. |
Clsid | A ID de classe do seu aplicativo. |
Exemplo
<Package
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
IgnorableNamespaces="uap, uap2, uap3, desktop2">
<Applications>
<Application>
<Extensions>
<uap:Extension Category="windows.fileTypeAssociation">
<uap3:FileTypeAssociation Name="myfiletypes">
<uap:SupportedFileTypes>
<uap:FileType>.bar</uap:FileType>
</uap:SupportedFileTypes>
<desktop2:ThumbnailHandler
Clsid ="20000000-0000-0000-0000-000000000001" />
</uap3:FileTypeAssociation>
</uap::Extension>
</Extensions>
</Application>
</Applications>
</Package>
Mostrar o conteúdo do arquivo em um painel de visualização do Explorador de Arquivos
Permita que os usuários visualizem os conteúdos de um arquivo no painel de visualização do Explorador de Arquivos.
namespace XML
http://schemas.microsoft.com/appx/manifest/uap/windows10
http://schemas.microsoft.com/appx/manifest/uap/windows10/2
http://schemas.microsoft.com/appx/manifest/uap/windows10/3
http://schemas.microsoft.com/appx/manifest/desktop/windows10/2
Elementos e atributos da extensão
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]">
<SupportedFileTypes>
<FileType>"[FileExtension]"</FileType>
</SupportedFileTypes>
<DesktopPreviewHandler Clsid ="[Clsid ]" />
</FileTypeAssociation>
</Extension>
Encontre a referência do esquema completo aqui.
Nome | Descrição |
---|---|
Categoria | Sempre windows.fileTypeAssociation . |
Nome | O nome da associação de tipo de arquivo. Você pode usar esse nome para organizar e agrupar tipos de arquivo. O nome deve ter todos os caracteres minúsculos sem espaços. |
FileType | As extensões de arquivo relevante. |
Clsid | A ID de classe do seu aplicativo. |
Exemplo
<Package
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
IgnorableNamespaces="uap, uap2, uap3, desktop2">
<Applications>
<Application>
<Extensions>
<uap:Extension Category="windows.fileTypeAssociation">
<uap3:FileTypeAssociation Name="myfiletypes">
<uap:SupportedFileTypes>
<uap:FileType>.bar</uap:FileType>
</uap:SupportedFileTypes>
<desktop2:DesktopPreviewHandler Clsid ="20000000-0000-0000-0000-000000000001" />
</uap3:FileTypeAssociation>
</uap:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Permita que os usuários agrupem arquivos usando a coluna Tipo no Explorador de Arquivos
Você pode associar um ou mais valores predefinidos para seus tipos de arquivo com o campo Tipo.
No Explorador de Arquivos, os usuários podem agrupar esses arquivos usando esse campo. Componentes do sistema também usam esse campo para várias finalidades, como de indexação.
Para obter mais informações sobre o campo Tipo e os valores que você pode usar para esse campo, consulte usando nomes de tipo.
Namespaces do XML
http://schemas.microsoft.com/appx/manifest/uap/windows10
http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3
Elementos e atributos da extensão
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]">
<SupportedFileTypes>
<FileType>"[FileExtension]"</FileType>
</SupportedFileTypes>
<KindMap>
<Kind value="[KindValue]">
</KindMap>
</FileTypeAssociation>
</Extension>
Encontre a referência do esquema completo aqui.
Nome | Descrição |
---|---|
Categoria | Sempre windows.fileTypeAssociation . |
Nome | O nome da associação de tipo de arquivo. Você pode usar esse nome para organizar e agrupar tipos de arquivo. O nome deve ter todos os caracteres minúsculos sem espaços. |
FileType | As extensões de arquivo relevante. |
value | Um valor de tipo válido |
Exemplo
<Package
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3"
IgnorableNamespaces="uap, rescap">
<Applications>
<Application>
<Extensions>
<uap:Extension Category="windows.fileTypeAssociation">
<uap:FileTypeAssociation Name="mediafiles">
<uap:SupportedFileTypes>
<uap:FileType>.m4a</uap:FileType>
<uap:FileType>.mta</uap:FileType>
</uap:SupportedFileTypes>
<rescap:KindMap>
<rescap:Kind value="Item">
<rescap:Kind value="Communications">
<rescap:Kind value="Task">
</rescap:KindMap>
</uap:FileTypeAssociation>
</uap:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Disponibilize as propriedades dos arquivos para pesquisa, índice, diálogos de propriedade e o painel de detalhes
namespace XML
http://schemas.microsoft.com/appx/manifest/uap/windows10
http://schemas.microsoft.com/appx/manifest/uap/windows10/3
http://schemas.microsoft.com/appx/manifest/desktop/windows10/2
Elementos e atributos da extensão
<uap:Extension Category="windows.fileTypeAssociation">
<uap:FileTypeAssociation Name="[Name]">
<SupportedFileTypes>
<FileType>.bar</FileType>
</SupportedFileTypes>
<DesktopPropertyHandler Clsid ="[Clsid]"/>
</uap:FileTypeAssociation>
</uap:Extension>
Encontre a referência do esquema completo aqui.
Nome | Descrição |
---|---|
Categoria | Sempre windows.fileTypeAssociation . |
Nome | O nome da associação de tipo de arquivo. Você pode usar esse nome para organizar e agrupar tipos de arquivo. O nome deve ter todos os caracteres minúsculos sem espaços. |
FileType | As extensões de arquivo relevante. |
Clsid | A ID de classe do seu aplicativo. |
Exemplo
<Package
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
IgnorableNamespaces="uap, uap3, desktop2">
<Applications>
<Application>
<Extensions>
<uap:Extension Category="windows.fileTypeAssociation">
<uap3:FileTypeAssociation Name="myfiletypes">
<uap:SupportedFileTypes>
<uap:FileType>.bar</uap:FileType>
</uap:SupportedFileTypes>
<desktop2:DesktopPropertyHandler Clsid ="20000000-0000-0000-0000-000000000001"/>
</uap3:FileTypeAssociation>
</uap:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Especificar um manipulador de menu de contexto para um tipo de arquivo
Se o aplicativo da área de trabalho definir um manipulador de menu de contexto, use essa extensão para registrar o manipulador de menu.
Namespaces do XML
http://schemas.microsoft.com/appx/manifest/foundation/windows10
http://schemas.microsoft.com/appx/manifest/desktop/windows10/4
Elementos e atributos da extensão
<Extensions>
<com:Extension Category="windows.comServer">
<com:ComServer>
<com:SurrogateServer AppId="[AppID]" DisplayName="[DisplayName]">
<com:Class Id="[Clsid]" Path="[Path]" ThreadingModel="[Model]"/>
</com:SurrogateServer>
</com:ComServer>
</com:Extension>
<desktop4:Extension Category="windows.fileExplorerContextMenus">
<desktop4:FileExplorerContextMenus>
<desktop4:ItemType Type="[Type]">
<desktop4:Verb Id="[ID]" Clsid="[Clsid]" />
</desktop4:ItemType>
</desktop4:FileExplorerContextMenus>
</desktop4:Extension>
</Extensions>
Encontre a referência de esquema completa aqui: com:ComServer e desktop4:FileExplorerContextMenus.
Instruções
Para registrar seu manipulador de menu de contexto, siga estas instruções.
Em seu aplicativo da área de trabalho, implemente um manipulador de menu de contexto implementando a interface IExplorerCommand ou IExplorerCommandState. Para obter um exemplo, confira o exemplo de código ExplorerCommandVerb. Certifique-se de definir um GUID de classe para cada um dos objetos de implementação. Por exemplo, o código a seguir define uma ID de classe para uma implementação de IExplorerCommand.
class __declspec(uuid("00001111-aaaa-2222-bbbb-3333cccc4444")) CExplorerCommandVerb;
No manifesto do pacote, especifique uma extensão de aplicativo com:ComServer que registra um servidor alternativo COM com a ID de classe de sua implementação do manipulador do menu de contexto.
<com:Extension Category="windows.comServer"> <com:ComServer> <com:SurrogateServer AppId="00001111-aaaa-2222-bbbb-3333cccc4444" DisplayName="ContosoHandler"> <com:Class Id="00001111-aaaa-2222-bbbb-3333cccc4444" Path="ExplorerCommandVerb.dll" ThreadingModel="STA"/> </com:SurrogateServer> </com:ComServer> </com:Extension>
No manifesto do pacote, especifique uma extensão de aplicativo desktop4:FileExplorerContextMenus que registra a implementação do manipulador do menu de contexto.
<desktop4:Extension Category="windows.fileExplorerContextMenus"> <desktop4:FileExplorerContextMenus> <desktop4:ItemType Type=".rar"> <desktop4:Verb Id="Command1" Clsid="00001111-aaaa-2222-bbbb-3333cccc4444" /> </desktop4:ItemType> </desktop4:FileExplorerContextMenus> </desktop4:Extension>
Exemplo
<Package
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:desktop4="http://schemas.microsoft.com/appx/manifest/desktop/windows10/4"
xmlns:com="http://schemas.microsoft.com/appx/manifest/com/windows10"
IgnorableNamespaces="desktop4">
<Applications>
<Application>
<Extensions>
<com:Extension Category="windows.comServer">
<com:ComServer>
<com:SurrogateServer AppId="00001111-aaaa-2222-bbbb-3333cccc4444" DisplayName="ContosoHandler">
<com:Class Id="00001111-aaaa-2222-bbbb-3333cccc4444" Path="ExplorerCommandVerb.dll" ThreadingModel="STA"/>
</com:SurrogateServer>
</com:ComServer>
</com:Extension>
<desktop4:Extension Category="windows.fileExplorerContextMenus">
<desktop4:FileExplorerContextMenus>
<desktop4:ItemType Type=".contoso">
<desktop4:Verb Id="Command1" Clsid="00001111-aaaa-2222-bbbb-3333cccc4444" />
</desktop4:ItemType>
</desktop4:FileExplorerContextMenus>
</desktop4:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Fazer os arquivos de seu serviço de nuvem aparecerem no Explorador de Arquivos
Registre os manipuladores implementados em seu aplicativo. Você também pode adicionar opções de menu de contexto que aparecem quando os usuários clicam com o botão direito nos arquivos com base em nuvem no Explorador de Arquivos.
namespace XML
http://schemas.microsoft.com/appx/manifest/desktop/windows10
Elementos e atributos da extensão
<Extension Category="windows.cloudfiles" >
<CloudFiles IconResource="[Icon]">
<CustomStateHandler Clsid ="[Clsid]"/>
<ThumbnailProviderHandler Clsid ="[Clsid]"/>
<ExtendedPropertyhandler Clsid ="[Clsid]"/>
<CloudFilesContextMenus>
<Verb Id ="Command3" Clsid= "[GUID]">[Verb Label]</Verb>
</CloudFilesContextMenus>
</CloudFiles>
</Extension>
Nome | Descrição |
---|---|
Categoria | Sempre windows.cloudfiles . |
iconResource | O ícone que representa seu serviço de provedor de arquivo em nuvem. Este ícone é exibido no painel de navegação do Explorador de Arquivos. Os usuários escolhem esse ícone para mostrar arquivos de seu serviço de nuvem. |
CustomStateHandler Clsid | A ID de classe do aplicativo que implementa o CustomStateHandler. O sistema usa esse ID de classe para solicitar estados personalizados e colunas para arquivos na nuvem. |
ThumbnailProviderHandler Clsid | A ID de classe do aplicativo que implementa o ThumbnailProviderHandler. O sistema usa esse ID de classe para solicitar imagens em miniatura para arquivos na nuvem. |
ExtendedPropertyHandler Clsid | A ID de classe do aplicativo que implementa o ExtendedPropertyHandler. O sistema usa esse ID de classe para solicitar propriedades estendidas para um arquivo de nuvem. |
Verbo | O nome que aparece no menu de contexto do Explorador de Arquivos para arquivos fornecidos pelo seu serviço de nuvem. |
ID | O ID exclusivo do verbo. |
Exemplo
<Package
xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
IgnorableNamespaces="desktop">
<Applications>
<Application>
<Extensions>
<Extension Category="windows.cloudfiles" >
<CloudFiles IconResource="images\Wide310x150Logo.png">
<CustomStateHandler Clsid ="20000000-0000-0000-0000-000000000001"/>
<ThumbnailProviderHandler Clsid ="20000000-0000-0000-0000-000000000001"/>
<ExtendedPropertyhandler Clsid ="20000000-0000-0000-0000-000000000001"/>
<desktop:CloudFilesContextMenus>
<desktop:Verb Id ="keep" Clsid=
"20000000-0000-0000-0000-000000000001">
Always keep on this device</desktop:Verb>
</desktop:CloudFilesContextMenus>
</CloudFiles>
</Extension>
</Extensions>
</Application>
</Applications>
</Package>
Iniciar o aplicativo de maneiras diferentes
- Iniciar o aplicativo usando um protocolo
- Iniciar o aplicativo usando um alias
- Inicie um arquivo executável quando os usuários entrarem no Windows
- Permitir que os usuários iniciem seu aplicativo quando conectarem um dispositivo ao computador
- Reinicie automaticamente depois de receber uma atualização da Microsoft Store
Iniciar o aplicativo usando um protocolo
As associações de protocolos podem habilitar outros programas e componentes do sistema para interoperarem com seu app empacotado. Quando seu aplicativo empacotado é iniciado usando um protocolo, você pode especificar parâmetros específicos para passar aos seus argumentos de evento de ativação para que ele possa se comportar de acordo. Os parâmetros têm suporte somente aos apps empacotados de confiança total. Os aplicativos UWP não podem usar parâmetros.
namespace XML
http://schemas.microsoft.com/appx/manifest/uap/windows10/3
Elementos e atributos da extensão
<Extension
Category="windows.protocol">
<Protocol
Name="[Protocol name]"
Parameters="[Parameters]" />
</Extension>
Encontre a referência do esquema completo aqui.
Nome | Descrição |
---|---|
Categoria | Sempre windows.protocol . |
Nome | O nome do protocolo. |
Parâmetros | A lista de parâmetros e valores a serem passados para o seu aplicativo como argumentos de evento quando o aplicativo está ativado. Se uma variável pode conter um caminho de arquivo, envolva o valor do parâmetro entre aspas. Isso evitará quaisquer problemas que aconteçam nos casos em que o caminho inclua espaços. |
Exemplo
<Package
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
IgnorableNamespaces="uap3, desktop">
<Applications>
<Application>
<Extensions>
<uap3:Extension
Category="windows.protocol">
<uap3:Protocol
Name="myapp-cmd"
Parameters="/p "%1"" />
</uap3:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Iniciar o aplicativo usando um alias
Usuários e outros processos podem usar um alias para iniciar seu aplicativo sem precisar especificar o caminho completo para seu aplicativo. Você pode especificar esse nome de alias.
Namespaces do XML
http://schemas.microsoft.com/appx/manifest/uap/windows10/3
http://schemas.microsoft.com/appx/manifest/desktop/windows10
Elementos e atributos da extensão
<uap3:Extension
Category="windows.appExecutionAlias"
Executable="[ExecutableName]"
EntryPoint="Windows.FullTrustApplication">
<uap3:AppExecutionAlias>
<desktop:ExecutionAlias Alias="[AliasName]" />
</uap3:AppExecutionAlias>
</uap3:Extension>
Nome | Descrição |
---|---|
Categoria | Sempre windows.appExecutionAlias . |
Executável | O caminho relativo para o executável para iniciar quando o alias é invocado. |
Alias | O nome abreviado para o seu aplicativo. Deve sempre terminar com a extensão ".exe". Você só pode especificar um único alias de execução de aplicativo para cada aplicativo no pacote. Se vários aplicativos se registrarem para o mesmo alias, o sistema irá chamar o último que foi registrado. Portanto, escolha um alias exclusivo que outros aplicativos provavelmente não substituirão. |
Exemplo
<Package
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
IgnorableNamespaces="uap3">
<Applications>
<Application>
<Extensions>
<uap3:Extension
Category="windows.appExecutionAlias"
Executable="exes\launcher.exe"
EntryPoint="Windows.FullTrustApplication">
<uap3:AppExecutionAlias>
<desktop:ExecutionAlias Alias="Contoso.exe" />
</uap3:AppExecutionAlias>
</uap3:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Encontre a referência do esquema completo aqui.
Inicie um arquivo executável quando os usuários entrarem no Windows
As tarefas de inicialização permitem que seu aplicativo execute um executável automaticamente sempre que um usuário faz logon.
Observação
O usuário deve iniciar seu aplicativo pelo menos uma vez para registrar essa tarefa de inicialização.
Seu aplicativo pode declarar várias tarefas de inicialização. Cada tarefa é iniciada de maneira independente. Todas as tarefas de inicialização serão exibidas no Gerenciador de Tarefas na guia Inicialização com o nome especificado no manifesto do aplicativo e no ícone do aplicativo. O Gerenciador de Tarefas analisará automaticamente o impacto de inicialização de suas tarefas.
Os usuários podem desativar manualmente tarefas de inicialização do seu aplicativo usando o Gerenciador de tarefas. Se o usuário desabilitar uma tarefa, você não pode programaticamente reativá-la.
namespace XML
http://schemas.microsoft.com/appx/manifest/desktop/windows10
Elementos e atributos da extensão
<Extension
Category="windows.startupTask"
Executable="[ExecutableName]"
EntryPoint="Windows.FullTrustApplication">
<StartupTask
TaskId="[TaskID]"
Enabled="true"
DisplayName="[DisplayName]" />
</Extension>
Nome | Descrição |
---|---|
Categoria | Sempre windows.startupTask . |
Executável | O caminho relativo para o arquivo executável para começar. |
TaskId | Um identificador exclusivo para sua tarefa. Usando esse identificador, seu aplicativo pode chamar as APIs na classe Windows.ApplicationModel.StartupTask para habilitar ou desabilitar uma tarefa de inicialização de maneira programática. |
Habilitada | Indica se a tarefa inicialmente é iniciada ou desabilitada. As tarefas habilitadas serão executadas na próxima vez que o usuário efetuar o login (a menos que o usuário o desabilite). |
DisplayName | O nome da tarefa que aparece no Gerenciador de tarefas. Você pode localizar essa cadeia de caracteres usando ms-resource . |
Exemplo
<Package
xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
IgnorableNamespaces="desktop">
<Applications>
<Application>
<Extensions>
<desktop:Extension
Category="windows.startupTask"
Executable="bin\MyStartupTask.exe"
EntryPoint="Windows.FullTrustApplication">
<desktop:StartupTask
TaskId="MyStartupTask"
Enabled="true"
DisplayName="My App Service" />
</desktop:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Permitir que os usuários iniciem seu aplicativo quando conectarem um dispositivo ao computador
A Reprodução Automática pode apresentar seu aplicativo como uma opção quando um usuário conecta um dispositivo ao computador.
namespace XML
http://schemas.microsoft.com/appx/manifest/desktop/windows10/3
Elementos e atributos da extensão
<Extension Category="windows.autoPlayHandler">
<AutoPlayHandler>
<InvokeAction ActionDisplayName="[action string]" ProviderDisplayName="[name of your app/service]">
<Content ContentEvent="[Content event]" Verb="[any string]" DropTargetHandler="[Clsid]" />
<Content ContentEvent="[Content event]" Verb="[any string]" Parameters="[Initialization parameter]"/>
<Device DeviceEvent="[Device event]" HWEventHandler="[Clsid]" InitCmdLine="[Initialization parameter]"/>
</InvokeAction>
</AutoPlayHandler>
Nome | Descrição |
---|---|
Categoria | Sempre windows.autoPlayHandler . |
ActionDisplayName | Uma cadeia de caracteres que representa a ação que os usuários podem realizar com um dispositivo que conectam a um computador (por exemplo: "Importar arquivos" ou "Reproduzir vídeo"). |
ProviderDisplayName | Uma cadeia de caracteres que representa seu aplicativo ou serviço (por exemplo: "Player de vídeo Contoso"). |
ContentEvent | O nome de um evento de conteúdo que faz com que os usuários sejam avisados com ActionDisplayName e ProviderDisplayName . Um evento de conteúdo é gerado quando um dispositivo de volume, como um cartão de memória de câmera, um pen drive ou um DVD, for inserido no computador. Você pode encontrar a lista completa desses eventos aqui. |
Verbo | A configuração Verbo identifica um valor que é passado ao seu aplicativo para a opção selecionada. Você pode especificar várias ações de inicialização para um evento de Reprodução Automática e usar a configuração Verbo para determinar qual opção u usuário selecionou para seu aplicativo. Você pode descobrir a opção selecionada pelo usuário verificando a propriedade verb dos argumentos do evento de inicialização passados para seu aplicativo. Também pode usar qualquer valor para a configuração Verbo exceto open, que está reservado. |
DropTargetHandler | A ID de classe do aplicativo que implementa a interface IDropTarget. Arquivos da mídia removível são transmitidos para o método Soltar da implementação IDropTarget. |
Parâmetros | Você não precisa implementar a interface IDropTarget para todos os eventos de conteúdo. Para qualquer um dos eventos de conteúdo, você pode fornecer parâmetros de linha de comando em vez de implementar a interface IDropTarget. Para esses eventos, a Reprodução Automática iniciará seu aplicativo usando os parâmetros de linha de comando. Você pode analisar esses parâmetros no código de inicialização do seu aplicativo para determinar se ele foi iniciado por reprodução automática e, em seguida, fornecer sua implementação personalizada. |
DeviceEvent | O nome de um evento de dispositivo que faz com que os usuários sejam avisados com ActionDisplayName e ProviderDisplayName . Um evento de dispositivo é gerado quando um dispositivo é conectado ao computador. Eventos de dispositivo começam com a cadeia de caracteres WPD e você pode encontrá-los listados aqui. |
HWEventHandler | A ID de classe do aplicativo que implementa a interface IHWEventHandler. |
InitCmdLine | O parâmetro de cadeia de caracteres que você deseja transmitir para o método Inicializar da interface IHWEventHandler. |
Exemplo
<Package
xmlns:desktop3="http://schemas.microsoft.com/appx/manifest/desktop/windows10/3"
IgnorableNamespaces="desktop3">
<Applications>
<Application>
<Extensions>
<desktop3:Extension Category="windows.autoPlayHandler">
<desktop3:AutoPlayHandler>
<desktop3:InvokeAction ActionDisplayName="Import my files" ProviderDisplayName="ms-resource:AutoPlayDisplayName">
<desktop3:Content ContentEvent="ShowPicturesOnArrival" Verb="show" DropTargetHandler="CD041BAE-0DEA-4472-9B7B-C98043D26EA8"/>
<desktop3:Content ContentEvent="PlayVideoFilesOnArrival" Verb="play" Parameters="%1" />
<desktop3:Device DeviceEvent="WPD\ImageSource" HWEventHandler="CD041BAE-0DEA-4472-9B7B-C98043D26EA8" InitCmdLine="/autoplay"/>
</desktop3:InvokeAction>
</desktop3:AutoPlayHandler>
</Extensions>
</Application>
</Applications>
</Package>
Reinicie automaticamente depois de receber uma atualização da Microsoft Store
Se o aplicativo estiver aberto quando os usuários instalarem uma atualização para ele, o aplicativo será fechado.
Se você quiser que o aplicativo reinicie após a conclusão da atualização, chame a função RegisterApplicationRestart em cada processo que você deseja reiniciar.
Cada janela ativa em seu aplicativo recebe uma mensagem WM_QUERYENDSESSION. Neste ponto, seu aplicativo pode chamar a função RegisterApplicationRestart novamente para atualizar a linha de comando, se necessário.
Quando cada janela ativa em seu aplicativo receber a mensagem WM_ENDSESSION, seu aplicativo deverá salvar os dados e desligar.
Observação
As janelas ativas também receberão a mensagem WM_CLOSE caso o aplicativo não manipule a mensagem WM_ENDSESSION.
Neste ponto, seu aplicativo tem 30 segundos para fechar os próprios processos ou a plataforma os encerrará de maneira imposta.
Após a conclusão da atualização, seu aplicativo será reiniciado.
Trabalhar com outros aplicativos
Integre-se com outros aplicativos, inicie outros processos ou compartilhe informações.
- Faça o seu aplicativo aparecer como o alvo de impressão em aplicativos com suporte para impressão
- Compartilhe fontes com outros aplicativos do Windows
- Inicie um processo Win32 a partir de um aplicativo Universal Windows Platform (UWP)
Faça o seu aplicativo aparecer como o alvo de impressão em aplicativos com suporte para impressão
Se os usuários desejarem imprimir dados de outro aplicativo, como o Bloco de notas, você pode fazer com que seu aplicativo apareça como um alvo de impressão na lista de destinos de impressão disponíveis do aplicativo.
Você terá que modificar seu aplicativo para que ele receba dados de impressão no formato XML Paper Specification (XPS).
Namespaces do XML
http://schemas.microsoft.com/appx/manifest/desktop/windows10/2
Elementos e atributos da extensão
<Extension Category="windows.appPrinter">
<AppPrinter
DisplayName="[DisplayName]"
Parameters="[Parameters]" />
</Extension>
Encontre a referência do esquema completo aqui.
Nome | Descrição |
---|---|
Categoria | Sempre windows.appPrinter . |
DisplayName | O nome que você quer que apareça na lista de destinos de impressão para um aplicativo. |
Parâmetros | Os parâmetros que seu aplicativo requer para lidar apropriadamente com a solicitação. |
Exemplo
<Package
xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
IgnorableNamespaces="desktop2">
<Applications>
<Application>
<Extensions>
<desktop2:Extension Category="windows.appPrinter">
<desktop2:AppPrinter
DisplayName="Send to Contoso"
Parameters="/insertdoc %1" />
</desktop2:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Encontrar um exemplo que usa essa extensão aqui
Compartilhe fontes com outros aplicativos do Windows
Compartilhe suas fontes personalizadas com outros aplicativos do Windows.
Observação
Para enviar um aplicativo que usa essa extensão para a Store, primeiro obtenha aprovação da equipe da Store. Para obter aprovação, acesse https://aka.ms/storesupport, clique em Fale conosco e escolha as opções relevantes para o envio de aplicativos ao painel. Esse processo de aprovação ajuda a garantir que não haja conflitos entre as fontes instaladas pelo seu aplicativo e as fontes instaladas com o sistema operacional. Se você não obtiver a aprovação, receberá um erro semelhante ao seguinte ao enviar seu aplicativo: "Erro de validação de aceitação do pacote: Não é possível usar a extensão windows.sharedFonts com esta conta. Entre em contato com a equipe de suporte se você deseja solicitar permissões para usar essa extensão".
Namespaces do XML
http://schemas.microsoft.com/appx/manifest/uap/windows10/4
Elementos e atributos da extensão
<Extension Category="windows.sharedFonts">
<SharedFonts>
<Font File="[FontFile]" />
</SharedFonts>
</Extension>
Encontre a referência do esquema completo aqui.
Nome | Descrição |
---|---|
Categoria | Sempre windows.sharedFonts . |
Arquivo | O arquivo que contém as fontes que você deseja compartilhar. |
Exemplo
<Package
xmlns:uap4="http://schemas.microsoft.com/appx/manifest/uap/windows10/4"
IgnorableNamespaces="uap4">
<Applications>
<Application>
<Extensions>
<uap4:Extension Category="windows.sharedFonts">
<uap4:SharedFonts>
<uap4:Font File="Fonts\JustRealize.ttf" />
<uap4:Font File="Fonts\JustRealizeBold.ttf" />
</uap4:SharedFonts>
</uap4:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Inicie um processo Win32 a partir de um aplicativo Universal Windows Platform (UWP)
Inicie um processo do Win32 que é executado em confiança total.
Namespaces do XML
http://schemas.microsoft.com/appx/manifest/desktop/windows10
Elementos e atributos da extensão
<Extension Category="windows.fullTrustProcess" Executable="[executable file]">
<FullTrustProcess>
<ParameterGroup GroupId="[GroupID]" Parameters="[Parameters]"/>
</FullTrustProcess>
</Extension>
Nome | Descrição |
---|---|
Categoria | Sempre windows.fullTrustProcess . |
GroupID | Uma cadeia de caracteres que identifica um conjunto de parâmetros que você deseja passar para o executável. |
Parâmetros | Parâmetros que você deseja passar para o executável. |
Exemplo
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:rescap=
"http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10">
...
<Capabilities>
<rescap:Capability Name="runFullTrust"/>
</Capabilities>
<Applications>
<Application>
<Extensions>
<desktop:Extension Category="windows.fullTrustProcess" Executable="fulltrustprocess.exe">
<desktop:FullTrustProcess>
<desktop:ParameterGroup GroupId="SyncGroup" Parameters="/Sync"/>
<desktop:ParameterGroup GroupId="OtherGroup" Parameters="/Other"/>
</desktop:FullTrustProcess>
</desktop:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Essa extensão pode ser útil se você deseja criar uma interface do usuário da Plataforma Universal do Windows que é executada em todos os dispositivos, mas deseja que os componentes do seu aplicativo Win32 continuem funcionando com confiança total.
Crie o pacote do aplicativo do Windows para seu aplicativo Win32. Em seguida, adicione esta extensão ao arquivo de pacote do seu aplicativo UWP. Essas extensões indicam que você deseja iniciar um arquivo executável no pacote do aplicativo do Windows. Se você quiser se comunicar entre seu aplicativo UWP e seu aplicativo Win32, você pode configurar um ou mais serviços de aplicativo para fazer isso. Você pode ler mais sobre esse cenário aqui .
Próximas etapas
Tem dúvidas? Pergunte-nos no Stack Overflow. Nossa equipe monitora estas marcas. Você também pode entrar em contato conosco aqui.
Windows developer