Compartilhar via


Integrar seu aplicativo da área de trabalho ao Windows usando extensões de empacotamento

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 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:

  1. Adicione entradas do Registro para redirecionar o executável do aplicativo desktop não empacotado para o seu aplicativo empacotado.
  2. 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

  1. 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 .
  2. 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 aplicativo no Settings.

Namespaces XML

  • http://schemas.microsoft.com/appx/manifest/uap/windows10/3
  • http://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>

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/3
  • http://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>

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/windows10
  • http://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>

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/windows10
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/2
  • http://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 &quot;%1&quot;">Edit</uap3:Verb>
              <uap3:Verb Id="Print" Extended="true" Parameters="/p &quot;%1&quot;">Print</uap3:Verb>
            </uap2:SupportedVerbs>
          </uap3:FileTypeAssociation>
        </uap:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

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/windows10
  • http://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 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 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

Especifique como seu aplicativo se comporta quando um usuário abre vários arquivos simultaneamente.

Namespaces 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 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 será Player. Caso contrário, o padrão é Documento. Os aplicativos UWP sempre são iniciados como Player.

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/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 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/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 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 e os valores que você pode usar para esse campo, consulte Usando nomes de tipo.

Namespaces XML

  • http://schemas.microsoft.com/appx/manifest/uap/windows10
  • http://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.

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.
valor Um valor válido de tipo

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/windows10
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/3
  • http://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/windows10
  • http://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.

  1. 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;
    
  2. 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>
    
  3. 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

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 &quot;%1&quot;" />
        </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/3
  • http://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 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 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 . Os arquivos da mídia removível são passados para o método Drop da implementação do 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

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 .