Partilhar via


CoreDispatcher Classe

Definição

Fornece o Windows Runtime dispatcher de mensagem de evento principal. Instâncias desse tipo são responsáveis por processar as mensagens da janela e expedir os eventos para o cliente.

public ref class CoreDispatcher sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class CoreDispatcher final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class CoreDispatcher
Public NotInheritable Class CoreDispatcher
Herança
Object Platform::Object IInspectable CoreDispatcher
Atributos
Implementações

Requisitos do Windows

Família de dispositivos
Windows 10 (introduzida na 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v1.0)

Comentários

Instâncias desse tipo podem ser obtidas da propriedade CoreWindow.Dispatcher. A instância atual do CoreWindow pode ser obtida chamando CoreWindow.GetForCurrentThread.

// App.cpp
...
// An implementation of IFrameworkView::Run.
void Run()
{
    CoreWindow window{ CoreWindow::GetForCurrentThread() };
    window.Activate();

    CoreDispatcher dispatcher{ window.Dispatcher() };
    dispatcher.ProcessEvents(CoreProcessEventsOption::ProcessUntilQuit);
}

// The CoreApplication::Run call indirectly calls the App::Run function above.
int __stdcall wWinMain(HINSTANCE, HINSTANCE, PWSTR, int)
{
    CoreApplication::Run(App());
}
void MyCoreWindowEvents::Run() // this is an implementation of IFrameworkView::Run() used to show context. It is called by CoreApplication::Run().
{
    CoreWindow::GetForCurrentThread()->Activate();

    //...

    CoreWindow::GetForCurrentThread()->Dispatcher->ProcessEvents(CoreProcessEventsOption::ProcessUntilQuit);
}

Propriedades

CurrentPriority

Obtém e define a prioridade da tarefa atual.

HasThreadAccess

Obtém um valor que especifica se o dispatcher de eventos fornecido por esta instância do CoreWindow tem acesso ao thread atual ou não.

Métodos

ProcessEvents(CoreProcessEventsOption)

Inicia o dispatcher processando a fila de eventos de entrada para esta instância do CoreWindow.

RunAsync(CoreDispatcherPriority, DispatchedHandler)

Agenda o retorno de chamada fornecido no thread da interface do usuário de um thread de trabalho e retorna os resultados de forma assíncrona.

RunIdleAsync(IdleDispatchedHandler)

Agenda um retorno de chamada no thread da interface do usuário de um thread de trabalho com prioridade ociosa e retorna os resultados de forma assíncrona.

ShouldYield()

Consulta se o chamador deve render se houver itens na fila de tarefas de prioridade mais alta do que a tarefa atual.

ShouldYield(CoreDispatcherPriority)

Consulta se o chamador deve render se houver itens na fila de tarefas da prioridade especificada ou superior.

StopProcessEvents()

Impede que o dispatcher processe todos os eventos enfileirados.

TryRunAsync(CoreDispatcherPriority, DispatchedHandler)

Tenta agendar o retorno de chamada especificado no thread da interface do usuário de um thread de trabalho e retorna os resultados de forma assíncrona.

TryRunIdleAsync(IdleDispatchedHandler)

Tenta agendar um retorno de chamada no thread da interface do usuário de um thread de trabalho com prioridade ociosa e retorna os resultados de forma assíncrona.

Eventos

AcceleratorKeyActivated

Acionado quando uma tecla de acelerador é ativada (pressionada ou pressionada).

Aplica-se a