Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 as extensões predefinidas no manifesto do pacote. Veja também os recursos que exigem a identidade do pacote.
Por exemplo, use uma extensão para criar uma exceção de firewall; tornar seu aplicativo o aplicativo padrão para um tipo de arquivo; ou aponte blocos iniciar para seu aplicativo. Para usar uma extensão, basta adicionar um pouco de XML ao arquivo de manifesto do pacote do aplicativo. Nenhum código é necessário.
Este tópico descreve essas extensões e as tarefas que você pode executar usando-as.
Observação
Os recursos descritos neste tópico exigem que seu aplicativo seja empacotado (tem a identidade do pacote em runtime). Isso inclui aplicativos empacotados (consulte Criar um projeto para um aplicativo da área de trabalho do WinUI 3 empacotado) e aplicativos empacotados com localização externa (consulte Conceder identidade do pacote empacotando-o com a localização externa). Veja também os recursos que exigem a identidade do pacote.
Transição de usuários para seu aplicativo
Ajude os usuários a fazer a transição para seu aplicativo empacotado.
- Redirecione seu aplicativo de desktop existente para o aplicativo empacotado
- Aponte os blocos Iniciar e os botões da barra de tarefas existentes para o aplicativo empacotado
- Permita que seu aplicativo empacotado abra arquivos em vez de seu aplicativo de desktop
- Associar seu aplicativo empacotado a um conjunto de tipos de arquivo
- Adicionar opções aos menus de contexto de arquivos que têm um determinado tipo de arquivo
- Abra determinados tipos de arquivos diretamente usando uma URL
Redirecione seu aplicativo da área de trabalho existente para seu aplicativo empacotado
Quando os usuários iniciam seu aplicativo desktop existente não empacotado, você pode configurar seu aplicativo empacotado para ser aberto.
Observação
Esse recurso tem suporte no Windows Insider Preview Build 21313 e versões posteriores.
Para habilitar esse comportamento:
- Adicione entradas do Registro para redirecionar o executável do aplicativo desktop não empacotado para o seu aplicativo empacotado.
- Registre seu aplicativo empacotado para ser iniciado quando o executável do aplicativo de área de trabalho não empacotado for iniciado.
Adicione entradas do Registro para redirecionar o executável do software de área de trabalho não empacotado
- No Registro, crie uma subchave com o nome do arquivo executável do aplicativo da área de trabalho na chave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options .
- Nesta subchave, adicione os seguintes valores:
- AppExecutionAliasRedirect (DWORD): se definido como 1, o sistema verificará uma extensão de pacote AppExecutionAlias com o mesmo nome que o executável. Se a extensão AppExecutionAlias estiver habilitada, o aplicativo empacotado será ativado usando esse valor.
- AppExecutionAliasRedirectPackages (REG_SZ): o sistema redirecionará 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 para ser lançado
No manifesto do seu pacote, adicione uma extensão AppExecutionAlias que registra o nome do executável do seu aplicativo de desktop 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>
Desabilitar o redirecionamento
Os usuários podem desativar o redirecionamento e iniciar o executável do aplicativo não empacotado por meio destas opções:
- Eles podem desinstalar a versão empacotada do seu aplicativo.
- O usuário pode desabilitar a entrada
AppExecutionAlias para seu aplicativo empacotado na página de aliases de execução do aplicativono Settings .
Namespaces XML
http://schemas.microsoft.com/appx/manifest/uap/windows10/3http://schemas.microsoft.com/appx/manifest/desktop/windows10
Elementos e atributos dessa 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 iniciar o executável quando o alias é invocado. |
| Apelido | O nome curto do aplicativo. Ele sempre deve terminar com a extensão ".exe". |
Aponte os blocos do Menu Iniciar e os botões da barra de tarefas existentes ao seu aplicativo empacotado.
Seus usuários podem ter fixado seu aplicativo da área de trabalho na barra de tarefas ou no menu Iniciar. Você pode apontar esses atalhos para seu aplicativo recém-empacotado.
Namespace XML
http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3
Elementos e atributos dessa extensão
<Extension Category="windows.desktopAppMigration">
<DesktopAppMigration>
<DesktopApp AumId="[your_app_aumid]" />
<DesktopApp ShortcutPath="[path]" />
</DesktopAppMigration>
</Extension>
Localize a referência de esquema completa aqui.
| Nome | Descrição |
|---|---|
| Categoria | Sempre windows.desktopAppMigration. |
| AumID | A ID do modelo de usuário do aplicativo empacotado. |
| Caminho de atalho | O caminho para arquivos .lnk que começam a versão de 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 com que seu aplicativo empacotado abra arquivos em vez de seu aplicativo de desktop.
Você pode garantir que os usuários abram seu novo aplicativo empacotado por padrão para tipos específicos de arquivos em vez de abrir a versão da área de trabalho do seu aplicativo.
Para fazer isso, você especificará o progID (identificador programático) de cada aplicativo do qual você deseja herdar associações de arquivos.
Namespaces XML
http://schemas.microsoft.com/appx/manifest/uap/windows10/3http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3
Elementos e atributos dessa extensão
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]">
<MigrationProgIds>
<MigrationProgId>"[ProgID]"</MigrationProgId>
</MigrationProgIds>
</FileTypeAssociation>
</Extension>
Localize a referência de esquema completa 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 ser todos caracteres minúsculas 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ê deseja herdar associações de arquivos. |
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
Associar seu aplicativo empacotado a um conjunto de tipos de arquivo
Você pode associar seu aplicativo empacotado 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 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, consulte Integrar um aplicativo de área de trabalho empacotado com o Explorador de Arquivos.
Namespaces XML
http://schemas.microsoft.com/appx/manifest/uap/windows10http://schemas.microsoft.com/appx/manifest/uap/windows10/3
Elementos e atributos dessa extensão
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]">
<SupportedFileTypes>
<FileType>"[file extension]"</FileType>
</SupportedFileTypes>
</FileTypeAssociation>
</Extension>
Localize a referência de esquema completa 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 ser todos caracteres minúsculas sem espaços. |
| Tipo de Arquivo | 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
Adicionar opções aos menus de contexto de 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 oferecem aos usuários outras maneiras de interagir com seu arquivo, como imprimir, editar ou visualizar o arquivo. Para obter mais informações sobre como usar essa extensão, consulte Integrar um aplicativo de área de trabalho empacotado com o Explorador de Arquivos.
Namespaces XML
http://schemas.microsoft.com/appx/manifest/uap/windows10http://schemas.microsoft.com/appx/manifest/uap/windows10/2http://schemas.microsoft.com/appx/manifest/uap/windows10/3
Elementos e atributos dessa extensão
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]">
<SupportedVerbs>
<Verb Id="[ID]" Extended="[Extended]" Parameters="[parameters]">"[verb label]"</Verb>
</SupportedVerbs>
</FileTypeAssociation>
</Extension>
Localize a referência de esquema completa 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 ser todos caracteres minúsculas sem espaços. |
| Verbo | O nome que aparece no menu de contexto do Explorador de Arquivos. Esta string é localizável e usa ms-resource. |
| ID | A ID exclusiva do verbo. Se o seu aplicativo for um aplicativo UWP, essa informação será passada para seu aplicativo como parte dos argumentos do evento de ativação, de modo que ele possa processar a seleção do usuário de forma apropriada. Se o aplicativo for um aplicativo empacotado de confiança total, ele receberá parâmetros em vez disso (consulte o próximo marcador). |
| Parâmetros | A lista de parâmetros e valores de argumento associados ao verbo. Se o aplicativo for um aplicativo empacotado de confiança total, esses parâmetros serão passados para o aplicativo como argumentos de evento quando o aplicativo for ativado. Você pode personalizar o comportamento do aplicativo com base em verbos de ativação diferentes. Se uma variável puder conter um caminho de arquivo, encapsule o valor do parâmetro entre aspas. Isso evitará problemas que ocorram nos casos em que o caminho inclui espaços. Se o aplicativo for um aplicativo UWP, você não poderá passar parâmetros. Em vez disso, o aplicativo recebe o Id (consulte o marcador anterior). |
| Prolongado | Especifica que o verbo será exibido somente se o usuário mostrar o menu de contexto segurando a tecla Shift antes de clicar com o botão direito do mouse no arquivo. Esse atributo é opcional e usa como padrão um valor de False (por exemplo, sempre mostrar o verbo) se não estiver listado. Especifique esse comportamento individualmente para cada verbo (exceto "Open", 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 determinados tipos de arquivos diretamente usando uma URL
Você pode garantir que os usuários abram seu novo aplicativo empacotado por padrão para tipos específicos de arquivos em vez de abrir a versão da área de trabalho do seu aplicativo.
Namespaces XML
http://schemas.microsoft.com/appx/manifest/uap/windows10http://schemas.microsoft.com/appx/manifest/uap/windows10/3
Elementos e atributos dessa extensão
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]" UseUrl="true" Parameters="%1">
<SupportedFileTypes>
<FileType>"[FileExtension]"</FileType>
</SupportedFileTypes>
</FileTypeAssociation>
</Extension>
Localize a referência de esquema completa 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 ser todos caracteres minúsculas sem espaços. |
| UseUrl | Indica se os arquivos devem ser abertos diretamente de um destino de URL. Se você não definir esse valor, as tentativas do aplicativo de abrir um arquivo usando uma URL farão com que o sistema baixe o arquivo localmente primeiro. |
| Parâmetros | Parâmetros opcionais. |
| Tipo de Arquivo | As extensões de arquivo relevantes. |
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 instalação
Criar exceção de firewall para seu aplicativo
Se o aplicativo exigir comunicação por meio 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 funcionalidade restrita Nível de Permissão de Confiança Total . Consulte a lista de funcionalidades restritas.
Namespace XML
http://schemas.microsoft.com/appx/manifest/desktop/windows10/2
Elementos e atributos dessa 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>
Localize a referência de esquema completa aqui.
| Nome | Descrição |
|---|---|
| Categoria | Sempre windows.firewallRules |
| Executável | O nome do arquivo executável que você deseja adicionar à lista de exceções de firewall |
| Direção | Indica se a regra é uma regra de entrada ou saída |
| Protocolo IP | O protocolo de comunicação |
| LocalPortMin | O menor número de porta em um intervalo de números de portas locais. |
| LocalPortMax | O número de porta mais alto de um intervalo de números de porta local. |
| RemotePortMax | O menor número de porta em um intervalo de números de portas remotas. |
| RemotePortMax | O número de porta mais alto em um intervalo de números de porta remotos. |
| 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>
Coloque seus 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ências de pacotes se os pacotes tiverem permissões 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.
Um pacote incluído na ordem de pesquisa de DLL incluirá, por padrão, seu caminho efetivo. Para obter mais informações sobre caminhos eficazes, consulte a propriedade
Se um pacote especificar uap6:LoaderSearchPathOverride, essas informações serão usadas em vez do caminho efetivo do pacote.
Cada pacote pode conter apenas uma extensão uap6:LoaderSearchPathOverride . Isso significa que você pode adicionar um deles ao pacote principal e, em seguida, adicionar um a cada um de seus pacotes opcionais e conjuntos relacionados.
Namespace XML
http://schemas.microsoft.com/appx/manifest/uap/windows10/6
Elementos e atributos dessa 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. |
| Caminho da pasta | O caminho da pasta que contém seus arquivos DLL. Especifique um caminho relativo à pasta raiz do pacote. Você pode especificar até cinco caminhos em uma extensão. Se você quiser que o sistema pesquise arquivos na pasta raiz do pacote, use uma cadeia de caracteres vazia para um desses caminhos. Não inclua caminhos duplicados e certifique-se de que seus caminhos não contenham barras à esquerda e à direita ou barras invertidas. O sistema não pesquisará subpastas, portanto, certifique-se de listar explicitamente cada pasta que contém 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>
Integrar com o Explorador de Arquivos
Ajude os usuários a 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 no Explorador de Arquivos
- Mostrar o conteúdo do arquivo em um painel de visualização do Explorador de Arquivos
- Permitir que os usuários agrupem arquivos usando a coluna Kind no Explorador de Arquivos
- Disponibilizar propriedades de arquivo para pesquisar, indexar, caixas de diálogo de propriedade e o painel de detalhes
- Especificar um manipulador de menu de contexto para um tipo de arquivo
- Fazer com que os arquivos do serviço de nuvem apareçam no Explorador de Arquivos
Definir como seu aplicativo se comporta quando os usuários selecionam e abrem vários arquivos ao mesmo tempo
Especifique como seu aplicativo se comporta quando um usuário abre vários arquivos simultaneamente.
Namespaces XML
http://schemas.microsoft.com/appx/manifest/uap/windows10http://schemas.microsoft.com/appx/manifest/uap/windows10/2http://schemas.microsoft.com/appx/manifest/uap/windows10/3
Elementos e atributos dessa 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>
Localize a referência de esquema completa 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 ser todos caracteres minúsculas sem espaços. |
| Modelo de seleção múltipla | Veja abaixo |
| Tipo de Arquivo | As extensões de arquivo relevantes. |
Modelo de seleção múltipla
os aplicativos de área de trabalho empacotados têm as mesmas três opções que os aplicativos de área de trabalho regulares.
-
Player: seu aplicativo é ativado uma vez. Todos os arquivos selecionados são passados para seu aplicativo como parâmetros de argumento. -
Single: seu aplicativo é ativado uma vez para o primeiro arquivo selecionado. Outros arquivos são ignorados. -
Document: uma nova instância separada do aplicativo é ativada para cada arquivo selecionado.
Você pode definir preferências diferentes para diferentes tipos de arquivo e ações. Por exemplo, talvez você deseje 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
Mostrar o conteúdo do arquivo em uma imagem em miniatura no Explorador de Arquivos
Permitir que os usuários exibam uma imagem em miniatura do conteúdo do arquivo quando o ícone do arquivo aparece no tamanho médio, grande ou extra grande.
Namespace XML
http://schemas.microsoft.com/appx/manifest/uap/windows10http://schemas.microsoft.com/appx/manifest/uap/windows10/2http://schemas.microsoft.com/appx/manifest/uap/windows10/3http://schemas.microsoft.com/appx/manifest/desktop/windows10/2
Elementos e atributos dessa extensão
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]">
<SupportedFileTypes>
<FileType>"[FileExtension]"</FileType>
</SupportedFileTypes>
<ThumbnailHandler
Clsid ="[Clsid ]" />
</FileTypeAssociation>
</Extension>
Localize a referência de esquema completa 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 ser todos caracteres minúsculas sem espaços. |
| Tipo de Arquivo | As extensões de arquivo relevantes. |
| Clsid | A ID da 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 no painel Visualização do Explorador de Arquivos
Permitir que os usuários visualizem o conteúdo de um arquivo no painel Visualização do Explorador de Arquivos.
Namespace XML
http://schemas.microsoft.com/appx/manifest/uap/windows10http://schemas.microsoft.com/appx/manifest/uap/windows10/2http://schemas.microsoft.com/appx/manifest/uap/windows10/3http://schemas.microsoft.com/appx/manifest/desktop/windows10/2
Elementos e atributos dessa extensão
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]">
<SupportedFileTypes>
<FileType>"[FileExtension]"</FileType>
</SupportedFileTypes>
<DesktopPreviewHandler Clsid ="[Clsid ]" />
</FileTypeAssociation>
</Extension>
Localize a referência de esquema completa 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 ser todos caracteres minúsculas sem espaços. |
| Tipo de Arquivo | As extensões de arquivo relevantes. |
| Clsid | A ID da 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>
Permitir que os usuários agrupem arquivos usando a coluna Kind no Explorador de Arquivos
Você pode associar um ou mais valores predefinidos para seus tipos de arquivo ao campo Tipo .
No Explorador de Arquivos, os usuários podem agrupar esses arquivos usando esse campo. Os componentes do sistema também usam esse campo para várias finalidades, como indexação.
Para obter mais informações sobre o campo tipo
Namespaces XML
http://schemas.microsoft.com/appx/manifest/uap/windows10http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3
Elementos e atributos dessa extensão
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]">
<SupportedFileTypes>
<FileType>"[FileExtension]"</FileType>
</SupportedFileTypes>
<KindMap>
<Kind value="[KindValue]">
</KindMap>
</FileTypeAssociation>
</Extension>
Localize a referência de esquema completa aqui.
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>
Disponibilizar propriedades de arquivo para pesquisas, indexação, diálogos de propriedades e o painel de detalhes
Namespace XML
http://schemas.microsoft.com/appx/manifest/uap/windows10http://schemas.microsoft.com/appx/manifest/uap/windows10/3http://schemas.microsoft.com/appx/manifest/desktop/windows10/2
Elementos e atributos dessa extensão
<uap:Extension Category="windows.fileTypeAssociation">
<uap:FileTypeAssociation Name="[Name]">
<SupportedFileTypes>
<FileType>.bar</FileType>
</SupportedFileTypes>
<DesktopPropertyHandler Clsid ="[Clsid]"/>
</uap:FileTypeAssociation>
</uap:Extension>
Localize a referência de esquema completa 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 ser todos caracteres minúsculas sem espaços. |
| Tipo de Arquivo | As extensões de arquivo relevantes. |
| Clsid | A ID da 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 menus.
Namespaces XML
http://schemas.microsoft.com/appx/manifest/foundation/windows10http://schemas.microsoft.com/appx/manifest/desktop/windows10/4
Elementos e atributos dessa 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>
Localize a referência de esquema completa aqui: com:ComServer e desktop4:FileExplorerContextMenus.
Instruções
Para registrar o manipulador de menu de contexto, siga estas instruções.
Em seu aplicativo de área de trabalho, implemente um manipulador de menu de contexto implementando a interface IExplorerCommand ou IExplorerCommandState . Para obter um exemplo, consulte 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 substituto COM com a ID de classe da implementação do manipulador de 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 de 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 com que os arquivos do serviço de nuvem apareçam no Explorador de Arquivos
Registre os manipuladores que você implementa 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 do mouse em seus arquivos baseados em nuvem no Explorador de Arquivos.
Namespace XML
http://schemas.microsoft.com/appx/manifest/desktop/windows10
Elementos e atributos dessa 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. |
| recursoDeÍcone | O ícone que representa o serviço do provedor de arquivos na nuvem. Este ícone aparece no painel Navegação do Explorador de Arquivos. Os usuários escolhem esse ícone para mostrar arquivos do serviço de nuvem. |
| CustomStateHandler Clsid | A ID da classe do aplicativo que implementa o CustomStateHandler. O sistema usa essa ID de Classe para solicitar estados e colunas personalizados para arquivos de nuvem. |
| ThumbnailProviderHandler Clsid | A ID da classe do aplicativo que implementa o ThumbnailProviderHandler. O sistema usa essa ID de Classe para solicitar imagens em miniatura para arquivos de nuvem. |
| ManipuladorDePropriedadesEstendidas Clsid | A ID da classe do aplicativo que implementa o ExtendedPropertyHandler. O sistema usa essa 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 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>
Inicie seu aplicativo de maneiras diferentes
- Iniciar seu aplicativo usando um protocolo
- Iniciar seu aplicativo usando um alias
- Iniciar um arquivo executável quando os usuários fizerem logon no Windows
- Permitir que os usuários iniciem seu aplicativo quando conectarem um dispositivo ao computador
- Reinicie automaticamente após receber uma atualização da Microsoft Store
Iniciar seu aplicativo usando um protocolo
As associações de protocolo podem permitir que outros programas e componentes do sistema interoperem com seu aplicativo empacotado. Quando seu aplicativo empacotado é iniciado usando um protocolo, você pode especificar parâmetros específicos para passar para seus argumentos de evento de ativação para que ele possa se comportar adequadamente. Os parâmetros têm suporte apenas para aplicativos empacotados e 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 dessa extensão
<Extension
Category="windows.protocol">
<Protocol
Name="[Protocol name]"
Parameters="[Parameters]" />
</Extension>
Localize a referência de esquema completa 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 seu aplicativo como argumentos de evento quando o aplicativo é ativado. Se uma variável puder conter um caminho de arquivo, encapsule o valor do parâmetro entre aspas. Isso evitará problemas que ocorram nos casos em que o caminho inclui 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 seu 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 XML
http://schemas.microsoft.com/appx/manifest/uap/windows10/3http://schemas.microsoft.com/appx/manifest/desktop/windows10
Elementos e atributos dessa 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 iniciar o executável quando o alias é invocado. |
| Apelido | O nome curto do aplicativo. Ele sempre deve 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 invocará o último que foi registrado, portanto, certifique-se de escolher um alias exclusivo que outros aplicativos dificilmente 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>
Localize a referência de esquema completa aqui.
Iniciar um arquivo executável quando os usuários fizerem logon no Windows
As tarefas de inicialização permitem que seu aplicativo execute um executável automaticamente sempre que um usuário fizer logon.
Observação
O usuário precisa 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 forma independente. Todas as tarefas de inicialização serão exibidas no Gerenciador de Tarefas na guia de Inicialização
Os usuários podem desabilitar manualmente a tarefa de inicialização do aplicativo usando o Gerenciador de Tarefas. Se um usuário desabilitar uma tarefa, você não poderá habilitá-la programaticamente.
Namespace XML
http://schemas.microsoft.com/appx/manifest/desktop/windows10
Elementos e atributos dessa 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 a ser iniciado. |
| ID da tarefa | Um identificador exclusivo para sua tarefa. Usando esse identificador, seu aplicativo pode chamar as APIs na classe Windows.ApplicationModel.StartupTask para habilitar ou desabilitar programaticamente uma tarefa de inicialização. |
| Ativado | Indica se a tarefa começa habilitada ou desabilitada. As tarefas habilitadas serão executadas na próxima vez em que o usuário fizer logon (a menos que o usuário o desabilite). |
| Nome Visível | 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 dessa 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. |
| NomeDeExibiçãoDaAção | Uma cadeia de caracteres que representa a ação que os usuários podem executar com um dispositivo que se conectam a um computador (por exemplo: "Importar arquivos" ou "Reproduzir vídeo"). |
| NomeExibidoDoProvedor | Uma cadeia de caracteres que representa seu aplicativo ou serviço (por exemplo: "Player de vídeo contoso"). |
| EventoDeConteúdo | O nome de um evento de conteúdo que faz com que os usuários sejam acionados com os seus ActionDisplayName e ProviderDisplayName. Um evento de conteúdo é gerado quando um dispositivo de volume, como cartão de memória da câmera, pen drive ou DVD, é inserido no computador. Você pode encontrar a lista completa desses eventos aqui. |
| Verbo | A configuração de verbo identifica um valor que é passado para seu aplicativo como a opção selecionada. Você pode especificar múltiplas ações de lançamento para um evento de Reprodução Automática e usar a configuração Verb para determinar qual opção um usuário selecionou para seu aplicativo. Você pode dizer qual opção o usuário selecionou verificando a propriedade de verbo dos argumentos de evento de inicialização passados para seu aplicativo. Você pode usar qualquer valor para a configuração de Verbo, exceto "open", que é reservado. |
| DropTargetHandler | A ID de classe do aplicativo que implementa a interface 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, o AutoPlay iniciará seu aplicativo usando esses 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 pela Reprodução Automática e, em seguida, aplicar sua implementação personalizada. |
| Evento do dispositivo | O nome de um evento de dispositivo que faz com que os usuários sejam solicitados com seu ActionDisplayName e ProviderDisplayName. Um evento de dispositivo é gerado quando um dispositivo é conectado ao computador. Os eventos do 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 . |
| Linha InitCmdLine | O parâmetro de cadeia de caracteres que você deseja passar para o método Initialize 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 após receber uma atualização da Microsoft Store
Se o aplicativo estiver aberto quando os usuários instalarem uma atualização, o aplicativo será fechado.
Se você quiser que esse aplicativo seja reiniciado após a conclusão da atualização, chame a função RegisterApplicationRestart em todos os processos 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 recebe a mensagem WM_ENDSESSION , seu aplicativo deve salvar dados e desligar.
Observação
Suas janelas ativas também recebem a mensagem WM_CLOSE caso o aplicativo não trate a mensagem de WM_ENDSESSION .
Neste ponto, seu aplicativo tem 30 segundos para fechar seus próprios processos ou a plataforma os encerra com força.
Depois que a atualização for concluída, seu aplicativo será reiniciado.
Trabalhar com outros aplicativos
Integre-se a outros aplicativos, inicie outros processos ou compartilhe informações.
- Fazer seu aplicativo aparecer como o destino de impressão em aplicativos que dão suporte à impressão
- Compartilhar fontes com outros aplicativos do Windows
- Iniciar um processo win32 a partir de um aplicativo UWP (Plataforma Universal do Windows)
Fazer seu aplicativo aparecer como o destino de impressão em aplicativos que dão suporte à impressão
Quando os usuários desejam imprimir dados de outro aplicativo, como o Bloco de Notas, você pode fazer com que seu aplicativo apareça como um destino de impressão na lista de destinos de impressão disponíveis do aplicativo.
Você precisará modificar seu aplicativo para que ele receba dados de impressão no formato XPS (Especificação de Papel XML).
Namespaces XML
http://schemas.microsoft.com/appx/manifest/desktop/windows10/2
Elementos e atributos dessa extensão
<Extension Category="windows.appPrinter">
<AppPrinter
DisplayName="[DisplayName]"
Parameters="[Parameters]" />
</Extension>
Localize a referência de esquema completa aqui.
| Nome | Descrição |
|---|---|
| Categoria | Sempre windows.appPrinter. |
| Nome Visível | O nome que você deseja exibir na lista de destinos de impressão de um aplicativo. |
| Parâmetros | Todos os parâmetros que seu aplicativo requer para lidar corretamente 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>
Localizar um exemplo que usa esta extensão aqui
Compartilhar fontes com outros aplicativos do Windows
Compartilhe suas fontes personalizadas com outros aplicativos do Windows.
Observação
Antes de enviar um aplicativo que usa essa extensão para a Loja, primeiro você deve obter aprovação da equipe da Store. Para obter aprovação, acesse https://aka.ms/storesupport, clique em Entrar em contato conosco e escolha as opções relevantes para enviar aplicativos para o painel. Esse processo de aprovação ajuda a garantir que não haja conflitos entre fontes instaladas pelo aplicativo e fontes instaladas com o sistema operacional. Se você não obtiver aprovação, receberá um erro semelhante ao seguinte quando enviar seu aplicativo: "Erro de validação de aceitação do pacote: Você não pode usar a extensão windows.sharedFonts com essa conta. Entre em contato com nossa equipe de suporte se você quiser solicitar permissões para usar essa extensão."
Namespaces XML
http://schemas.microsoft.com/appx/manifest/uap/windows10/4
Elementos e atributos dessa extensão
<Extension Category="windows.sharedFonts">
<SharedFonts>
<Font File="[FontFile]" />
</SharedFonts>
</Extension>
Localize a referência de esquema completa 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>
Iniciar um processo win32 a partir de um aplicativo UWP (Plataforma Universal do Windows)
Inicie um processo win32 que é executado em total confiança.
Namespaces XML
http://schemas.microsoft.com/appx/manifest/desktop/windows10
Elementos e atributos dessa extensão
<Extension Category="windows.fullTrustProcess" Executable="[executable file]">
<FullTrustProcess>
<ParameterGroup GroupId="[GroupID]" Parameters="[Parameters]"/>
</FullTrustProcess>
</Extension>
| Nome | Descrição |
|---|---|
| Categoria | Sempre windows.fullTrustProcess. |
| ID do Grupo | 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ê quiser criar uma interface de usuário da Plataforma Universal do Windows que seja executada em todos os dispositivos, mas você deseja que os componentes do aplicativo Win32 continuem em execução com total confiança.
Basta criar um pacote de aplicativo do Windows para seu aplicativo Win32. Em seguida, adicione essa extensão ao arquivo de pacote do aplicativo UWP. Essas extensões indicam que você deseja iniciar um arquivo executável no pacote de aplicativos do Windows. Se você quiser se comunicar entre seu aplicativo UWP e seu aplicativo Win32, poderá 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 sobre o Stack Overflow. Nossa equipe monitora essas tags . Você também pode nos perguntar aqui .
Windows developer