Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Costruttore EventQuery (String, String)

 

Data di pubblicazione: ottobre 2016

Inizializza una nuova istanza di EventQuery classe per la query e la lingua specificata.

Spazio dei nomi:   System.Management
Assembly:  System.Management (in System.Management.dll)

public EventQuery(
	string language,
	string query
)

Parametri

language
Type: System.String

La lingua in cui viene specificata la stringa di query.

query
Type: System.String

Rappresentazione di stringa della query.

Attendibilità totale per il chiamante immediato. Impossibile usare questo membro in codice parzialmente attendibile. Per altre informazioni, vedere Using Libraries from Partially Trusted Code.

Nell'esempio seguente viene illustrato il client riceve una notifica quando un'istanza di Win32_Process viene creato perché è la classe di evento InstanceCreationEvent. Per ulteriori informazioni, vedere la documentazione di Strumentazione gestione Windows in MSDN Library http://msdn.microsoft.com/library. Il client riceve gli eventi in modo sincrono chiamando il metodo WaitForNextEvent. Questo esempio può essere testato avviando un processo, ad esempio Blocco note, mentre il codice di esempio è in esecuzione.

using System;
using System.Management;

// This example shows synchronous consumption of events. 
// The client is blocked while waiting for events. 

public class EventWatcherPolling 
{
    public static int Main(string[] args) 
    {
        // Create event query to be notified within 1 second of 
        // a change in a service
        EventQuery query = new EventQuery("WQL", 
            "SELECT * FROM" +
            " __InstanceCreationEvent WITHIN 1 " + 
            "WHERE TargetInstance isa \"Win32_Process\"");

        // Initialize an event watcher and subscribe to events 
        // that match this query
        ManagementEventWatcher watcher =
            new ManagementEventWatcher(query);
        // times out watcher.WaitForNextEvent in 5 seconds
        watcher.Options.Timeout = new TimeSpan(0,0,5);

        // Block until the next event occurs 
        // Note: this can be done in a loop if waiting for 
        //        more than one occurrence
        Console.WriteLine(
            "Open an application (notepad.exe) to trigger an event.");
        ManagementBaseObject e = watcher.WaitForNextEvent();

        //Display information from the event
        Console.WriteLine(
            "Process {0} has been created, path is: {1}", 
            ((ManagementBaseObject)e
            ["TargetInstance"])["Name"],
            ((ManagementBaseObject)e
            ["TargetInstance"])["ExecutablePath"]);

        //Cancel the subscription
        watcher.Stop();
        return 0;
    }
}

.NET Framework
Disponibile da 1.1
Torna all'inizio
Mostra: