Partilhar via


Tratar a ativação do arquivo

APIs importantes

Seu aplicativo pode se registrar para se tornar o manipulador padrão para um determinado tipo de arquivo. Os aplicativos da área de trabalho do Windows e os aplicativos da Plataforma Universal do Windows (UWP) podem se registrar para ser um manipulador de arquivos padrão. Se o usuário escolher seu aplicativo como o manipulador padrão para um determinado tipo de arquivo, seu aplicativo será ativado quando esse tipo de arquivo for iniciado.

Recomendamos que você só se registre para um tipo de arquivo se espera lidar com todas as inicializações de arquivo para esse tipo de arquivo. Se o aplicativo precisar usar apenas o tipo de arquivo internamente, você não precisará se registrar para ser o manipulador padrão. Se você optar por se registrar para um tipo de arquivo, deverá fornecer ao usuário final a funcionalidade esperada quando seu aplicativo for ativado para esse tipo de arquivo. Por exemplo, um aplicativo visualizador de imagens pode se registrar para exibir um arquivo .jpg. Para obter mais informações sobre associações de arquivos, consulte Diretrizes para tipos de arquivo e URIs.

Estas etapas mostram como se registrar para um tipo de arquivo personalizado, .alsdk, e como ativar seu aplicativo quando o usuário inicia um arquivo .alsdk.

Observação Em aplicativos UWP, determinados URIs e extensões de arquivo são reservados para uso por aplicativos internos e pelo sistema operacional. As tentativas de registrar seu aplicativo com um URI reservado ou extensão de arquivo serão ignoradas. Para obter mais informações, consulte Nomes de esquema de arquivo e URI reservados.

Etapa 1: Especificar o ponto de extensão no manifesto do pacote

O aplicativo recebe eventos de ativação somente para as extensões de arquivo listadas no manifesto do pacote. Veja como você indica que seu aplicativo lida com os arquivos com a .alsdk extensão.

  1. No Gerenciador de Soluções, clique duas vezes em package.appxmanifest para abrir o designer de manifesto. Selecione a guia Declarações e, no menu suspenso Declarações Disponíveis, selecione Associações de Tipo de Arquivo e clique em Adicionar. Consulte Identificadores programáticos para obter mais detalhes sobre os identificadores usados por associações de arquivos.

    Aqui está uma breve descrição de cada um dos campos que você pode preencher no designer de manifesto:

Campo Description
Nome de Exibição Especifique o nome de exibição de um grupo de tipos de arquivo. O nome de exibição é usado para identificar o tipo de arquivo em Definir programas padrão no Painel de controle.
Logotipo Especifique o logotipo usado para identificar o tipo de arquivo na área de trabalho e em Definir programas padrão no Painel de controle. Se nenhum logotipo for especificado, o logotipo pequeno do aplicativo será usado.
Dica de informação Especifique a dica de informações para um grupo de tipos de arquivo. Esse texto de dica de ferramenta aparece quando o usuário passa o mouse sobre o ícone de um arquivo desse tipo.
Nome Escolha um nome para um grupo de tipos de arquivo que compartilham o mesmo nome de exibição, logotipo, dica de informações e sinalizadores de edição. Escolha um nome de grupo que possa permanecer o mesmo nas atualizações do aplicativo. Observação O nome deve estar em letras minúsculas.
Tipo de conteúdo Especifique o tipo de conteúdo MIME, como image/jpeg, para um tipo de arquivo específico. Observação importante sobre os tipos de conteúdo permitidos: Aqui está uma lista alfabética de tipos de conteúdo MIME que você não pode inserir no manifesto do pacote porque eles são reservados ou proibidos: application/force-download, application/octet-stream, application/unknown, application/x-msdownload.
Tipo de arquivo Especifique o tipo de arquivo para o qual se registrar, precedido por um ponto, por exemplo, ".jpeg". Tipos de arquivo reservados e proibidos: consulte Nomes de esquema de URI reservados e tipos de arquivo para obter uma lista alfabética de tipos de arquivo para aplicativos internos que você não pode registrar para seus aplicativos UWP porque eles são reservados ou proibidos.
  1. Insira alsdk como Nome.
  2. Insira .alsdk como o Tipo de arquivo.
  3. Digite "images\Icon.png" como o logotipo.
  4. Pressione Ctrl+S para salvar a alteração em package.appxmanifest.

As etapas acima adicionam um elemento Extension como este ao manifesto do pacote. A categoria windows.fileTypeAssociation indica que o aplicativo lida com arquivos com a .alsdk extensão.

      <Extensions>
        <uap:Extension Category="windows.fileTypeAssociation">
          <uap:FileTypeAssociation Name="alsdk">
            <uap:Logo>images\icon.png</uap:Logo>
            <uap:SupportedFileTypes>
              <uap:FileType>.alsdk</uap:FileType>
            </uap:SupportedFileTypes>
          </uap:FileTypeAssociation>
        </uap:Extension>
      </Extensions>

Etapa 2: adicione os ícones apropriados

Os aplicativos que se tornam o padrão para um tipo de arquivo têm seus ícones exibidos em vários locais do sistema. Por exemplo, esses ícones são mostrados em:

  • Modo de exibição de itens do Windows Explorer, menus de contexto e a faixa de opções
  • Painel de controle de programas padrão
  • Seletor de arquivos
  • Resultados da pesquisa na tela inicial

Inclua um ícone 44x44 com seu projeto para que seu logotipo possa aparecer nesses locais. Combine a aparência do logotipo do bloco do aplicativo e use a cor da tela de fundo do aplicativo em vez de tornar o ícone transparente. Faça com que o logotipo se estenda até a borda sem preenchê-lo. Teste seus ícones em fundos brancos. Consulte Diretrizes para ativos de bloco e ícone para obter mais detalhes sobre ícones.

Etapa 3: Manipular o evento ativado

O manipulador de eventos OnFileActivated recebe todos os eventos de ativação de arquivo.

protected override void OnFileActivated(FileActivatedEventArgs args)
{
       // TODO: Handle file activation
       // The number of files received is args.Files.Count
       // The name of the first file is args.Files[0].Name
}
Protected Overrides Sub OnFileActivated(ByVal args As Windows.ApplicationModel.Activation.FileActivatedEventArgs)
      ' TODO: Handle file activation
      ' The number of files received is args.Files.Size
      ' The name of the first file is args.Files(0).Name
End Sub
void App::OnFileActivated(Windows::ApplicationModel::Activation::FileActivatedEventArgs const& args)
{
    // TODO: Handle file activation.
    auto numberOfFilesReceived{ args.Files().Size() };
    auto nameOfTheFirstFile{ args.Files().GetAt(0).Name() };
}
void App::OnFileActivated(Windows::ApplicationModel::Activation::FileActivatedEventArgs^ args)
{
    // TODO: Handle file activation
    // The number of files received is args->Files->Size
    // The name of the first file is args->Files->GetAt(0)->Name
}

Observação

Quando iniciado por meio do Contrato de Arquivo, certifique-se de que o botão Voltar leve o usuário de volta à tela que iniciou o aplicativo e não ao conteúdo anterior do aplicativo.

Recomendamos que você crie um novo Quadro XAML para cada evento de ativação que abre uma nova página. Dessa forma, a pilha de retorno de navegação para o novo Quadro XAML não contém nenhum conteúdo anterior que o aplicativo possa ter na janela atual quando suspenso. Se você decidir usar um único Quadro XAML para Inicialização e para Contratos de Arquivo, deverá limpar as páginas no diário de navegação do Quadro antes de navegar para uma nova página.

Quando seu aplicativo é iniciado por meio da ativação de arquivo, você deve considerar incluir a interface do usuário que permite que o usuário volte para a página superior do aplicativo.

Comentários

Os arquivos que você recebe podem vir de uma fonte não confiável. Recomendamos que você valide o conteúdo de um arquivo antes de executar uma ação sobre ele.

Exemplo completo

Conceitos

Tarefas

Diretrizes

Referência