Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
A tua aplicação pode registar-se para se tornar o handler padrão para um determinado tipo de ficheiro. Tanto as aplicações de ambiente de trabalho Windows como as aplicações WinUI podem registar-se como um gestor de ficheiros por defeito. Se o utilizador escolher a sua aplicação como tratador padrão para um determinado tipo de ficheiro, a sua aplicação será ativada quando esse tipo de ficheiro for lançado.
Recomendamos que só se registe para um tipo de ficheiro se esperar gerir todos os lançamentos desse tipo de ficheiro. Se a tua aplicação só precisar de usar o tipo de ficheiro internamente, então não precisas de te registar para seres o handler padrão. Se optar por registar-se para um tipo de ficheiro, deve fornecer ao utilizador final a funcionalidade esperada quando a sua aplicação é ativada para esse tipo de ficheiro. Por exemplo, uma aplicação de visualização de imagens pode registar-se para mostrar um ficheiro .jpg. Para mais informações sobre associações de ficheiros, consulte Diretrizes para tipos de ficheiros e URIs.
Estes passos mostram como se registar para um tipo de ficheiro personalizado, .alsdk, e como ativar a sua aplicação quando o utilizador lança um ficheiro .alsdk.
Observação
No Windows, certos URIs e extensões de ficheiros são reservados para uso por aplicações integradas e pelo sistema operativo. As tentativas de registar a sua aplicação com um URI reservado ou extensão de ficheiro serão ignoradas. Consulte nomes de esquemas URI reservados e tipos de ficheiros para uma lista alfabética de esquemas Uri que não pode registar para as suas aplicações porque são reservadas ou proibidas.
APIs importantes
As APIs a seguir são usadas neste tópico:
- Windows.ApplicationModel.Activation.FileActivatedEventArgs
- Windows.UI.Xaml.Application.OnFileActivated
- AppInstance.GetActivatedEventArgs
Passo 1: Especificar o ponto de extensão no manifesto do pacote
A aplicação recebe eventos de ativação apenas para as extensões de ficheiro listadas no manifesto do pacote. Aqui está como se indica que a sua aplicação gere os ficheiros com a .alsdk extensão.
No Explorador de Soluções, clique duas vezes em package.appxmanifest para abrir o designer do manifesto. Selecione o separador Declarações e, na lista pendente Declarações Disponíveis, selecione Associações de Tipos de Ficheiro e clique em Adicionar. Consulte Identificadores Programáticos para mais detalhes sobre identificadores usados por associações de ficheiros.
Aqui está uma breve descrição de cada um dos campos que pode preencher no designer do manifesto:
| Campo | Descrição |
|---|---|
| Nome de Exibição | Especifique o nome de exibição para um grupo de tipos de ficheiros. O nome de exibição é usado para identificar o tipo de ficheiro no Definir Programas Padrão no Painel de Controlo. |
| Logótipo | Especifique o logótipo que é usado para identificar o tipo de ficheiro no ambiente de trabalho e no Definir Programas Padrão no Painel de Controlo. Se não for especificado logótipo, utiliza-se o logótipo pequeno da aplicação. |
| Dica de informação | Especifique a dica informativa para um grupo de tipos de ficheiros. Este texto de dica aparece quando o utilizador paira sobre o ícone de um ficheiro deste tipo. |
| Nome | Escolha um nome para um grupo de tipos de ficheiros que partilhem o mesmo nome de exibição, logótipo, dica de informação e bandeiras de edição. Escolhe um nome de grupo que se mantenha igual em todas as atualizações da aplicação. Nota O nome deve estar em letras minúsculas. |
| Tipo de conteúdo | Especifique o tipo de conteúdo MIME, como image/jpeg, para um determinado tipo de ficheiro. Nota importante sobre os tipos de conteúdo permitidos: Aqui está uma lista alfabética dos tipos de conteúdo MIME que não pode inserir no manifesto do pacote porque estão reservados ou proibidos: application/força-download, application/octet-stream, application/unknown, application/x-msdownload. |
| Tipo de ficheiro | Especifique o tipo de ficheiro para o qual se deve registar, precedido por um ponto, por exemplo, ".jpeg". Tipos de ficheiros reservados e proibidos:Consulte nomes de esquemas de URI reservados e tipos de ficheiros para uma lista alfabética dos tipos de ficheiros para aplicações incorporadas que não pode registar nas suas aplicações WinUI porque são reservadas ou proibidas. |
- Introduza
alsdkcomo Nome. - Insera
.alsdkcomo o tipo de ficheiro. - Insira "imagens\Icon.png" como logótipo.
- Pressione Ctrl+S para guardar a alteração para package.appxmanifest.
Os passos acima adicionam um elemento de Extensão como este ao manifesto do pacote. A categoria windows.fileTypeAssociation indica que a aplicação gere ficheiros 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>
Passo 2: Adicionar os ícones corretos
As aplicações que se tornam o padrão para um tipo de ficheiro têm os seus ícones exibidos em vários locais do sistema. Por exemplo, estes ícones são mostrados em:
- Visualização de Itens do Explorador do Windows, menus de contexto e a Fita
- Programas padrão do Painel de Controlo
- Seletor de arquivos
- Resultados da pesquisa no ecrã Iniciar
Inclua um ícone de 44x44 com o seu projeto para que o seu logótipo possa aparecer nesses locais. Combine com o aspeto do logótipo do bloco da aplicação e use a cor de fundo da sua aplicação em vez de tornar o ícone transparente. Faz com que o logótipo se estenda até à borda sem o acolchoar. Testa os teus ícones em fundos brancos. Consulte as Diretrizes para ativos de tiles e ícones para mais detalhes sobre ícones.
Passo 3: Gerir o evento ativado
O gestor de eventos OnFileActivated recebe todos os eventos de ativação de ficheiros.
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
}
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 iniciada através do Contrato de Ficheiro, assegure-se de que o botão Voltar leva o utilizador de volta ao ecrã que iniciou a aplicação, e não ao conteúdo anterior da aplicação.
Observação
Numa aplicação WinUI, no App.OnLaunched (ou de facto a qualquer momento) pode ligar para (AppInstance.GetActivatedEventArgs) para recuperar os args de eventos ativados e verificá-los para determinar como a aplicação foi ativada. Consulte migração de funcionalidades do ciclo de vida da aplicação para mais informações sobre as diferenças do ciclo de vida entre aplicações UWP e WinUI.
Recomendamos que crie um novo Frame XAML para cada evento de ativação que abra uma nova página. Dessa forma, o backstack de navegação para a nova estrutura XAML não contém nenhum conteúdo anterior que a aplicação possa ter na janela em uso quando a aplicação está suspensa. Se decidir usar um único Frame XAML para o Lançamento e para Contratos de Ficheiro, então deve limpar as páginas no diário de navegação do Frame antes de navegar para uma nova página.
Quando a sua aplicação for lançada através da ativação de ficheiros, deve considerar incluir uma interface que permita ao utilizador voltar à página principal da aplicação.
Observações
Os ficheiros que recebes podem vir de uma fonte não confiável. Recomendamos que valide o conteúdo de um ficheiro antes de agir sobre ele.
Conteúdo relacionado
Windows developer