CoreDispatcher Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Fornisce il dispatcher di messaggi di evento principale Windows Runtime. Le istanze di questo tipo sono responsabili dell'elaborazione dei messaggi della finestra e dell'invio degli eventi al client.
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
- Ereditarietà
- Attributi
- Implementazioni
Requisiti Windows
Famiglia di dispositivi |
Windows 10 (è stato introdotto in 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (è stato introdotto in v1.0)
|
Commenti
Le istanze di questo tipo possono essere ottenute dalla proprietà CoreWindow.Dispatcher. L'istanza coreWindow corrente può essere ottenuta chiamando 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);
}
Proprietà
CurrentPriority |
Ottiene e imposta la priorità dell'attività corrente. |
HasThreadAccess |
Ottiene un valore che specifica se il dispatcher eventi fornito da questa istanza di CoreWindow ha accesso al thread corrente o meno. |
Metodi
ProcessEvents(CoreProcessEventsOption) |
Avvia l'elaborazione della coda di eventi di input per questa istanza di CoreWindow. |
RunAsync(CoreDispatcherPriority, DispatchedHandler) |
Pianifica il callback fornito nel thread dell'interfaccia utente da un thread di lavoro e restituisce i risultati in modo asincrono. |
RunIdleAsync(IdleDispatchedHandler) |
Pianifica un callback nel thread dell'interfaccia utente da un thread di lavoro con priorità inattiva e restituisce i risultati in modo asincrono. |
ShouldYield() |
Esegue una query che indica se il chiamante deve restituire se sono presenti elementi nella coda di attività con priorità più alta rispetto all'attività corrente. |
ShouldYield(CoreDispatcherPriority) |
Esegue una query che indica se il chiamante deve restituire se sono presenti elementi nella coda di attività della priorità specificata o superiore. |
StopProcessEvents() |
Impedisce al dispatcher di elaborare eventuali eventi in coda. |
TryRunAsync(CoreDispatcherPriority, DispatchedHandler) |
Tenta di pianificare il callback specificato nel thread dell'interfaccia utente da un thread di lavoro e restituisce i risultati in modo asincrono. |
TryRunIdleAsync(IdleDispatchedHandler) |
Tenta di pianificare un callback nel thread dell'interfaccia utente da un thread di lavoro con priorità inattiva e restituisce i risultati in modo asincrono. |
Eventi
AcceleratorKeyActivated |
Generato quando viene attivato un tasto di scelta rapida (premuto o premuto). |