ManagementEventWatcher Constructeurs
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Initialise une nouvelle instance de la classe ManagementEventWatcher.
Surcharges
| Nom | Description |
|---|---|
| ManagementEventWatcher() |
Initialise une nouvelle instance de la classe ManagementEventWatcher. Pour une initialisation supplémentaire, définissez les propriétés sur l’objet. Il s’agit du constructeur sans paramètre. |
| ManagementEventWatcher(EventQuery) |
Initialise une nouvelle instance de la ManagementEventWatcher classe lorsqu’une requête d’événement WMI est donnée. |
| ManagementEventWatcher(String) |
Initialise une nouvelle instance de la ManagementEventWatcher classe lorsqu’une requête d’événement WMI est donnée sous la forme d’une chaîne. |
| ManagementEventWatcher(ManagementScope, EventQuery) |
Initialise une nouvelle instance de la ManagementEventWatcher classe qui écoute les événements conformes à la requête d’événement WMI donnée. |
| ManagementEventWatcher(String, String) |
Initialise une nouvelle instance de la ManagementEventWatcher classe qui écoute les événements conformes à la requête d’événement WMI donnée. Pour cette variante, la requête et l’étendue sont spécifiées en tant que chaînes. |
| ManagementEventWatcher(ManagementScope, EventQuery, EventWatcherOptions) |
Initialise une nouvelle instance de la ManagementEventWatcher classe qui écoute les événements conformes à la requête d’événement WMI donnée, en fonction des options spécifiées. Pour cette variante, la requête et l’étendue sont des objets spécifiés. L’objet options peut spécifier des options telles que les informations de délai d’attente et de contexte. |
| ManagementEventWatcher(String, String, EventWatcherOptions) |
Initialise une nouvelle instance de la ManagementEventWatcher classe qui écoute les événements conformes à la requête d’événement WMI donnée, en fonction des options spécifiées. Pour cette variante, la requête et l’étendue sont spécifiées en tant que chaînes. L’objet options peut spécifier des options telles qu’un délai d’attente et des informations de contexte. |
ManagementEventWatcher()
- Source:
- ManagementEventWatcher.cs
- Source:
- ManagementEventWatcher.cs
- Source:
- ManagementEventWatcher.cs
- Source:
- ManagementEventWatcher.cs
Initialise une nouvelle instance de la classe ManagementEventWatcher. Pour une initialisation supplémentaire, définissez les propriétés sur l’objet. Il s’agit du constructeur sans paramètre.
public:
ManagementEventWatcher();
public ManagementEventWatcher();
Public Sub New ()
Exemples
L’exemple suivant montre comment le client reçoit une notification lorsqu’une instance de Win32_Process est créée, car la classe d’événements est __InstanceCreationEvent. Pour plus d’informations, consultez la documentation Windows Management Instrumentation. Le client reçoit des événements de façon synchrone en appelant la WaitForNextEvent méthode. Cet exemple peut être testé en démarrant un processus, tel que le Bloc-notes, tandis que l’exemple de code est en cours d’exécution.
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
WqlEventQuery query =
new WqlEventQuery("__InstanceCreationEvent",
new TimeSpan(0,0,1),
"TargetInstance isa \"Win32_Process\"");
// Initialize an event watcher and subscribe to events
// that match this query
ManagementEventWatcher watcher =
new ManagementEventWatcher();
watcher.Query = 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;
}
}
Imports System.Management
' This example shows synchronous consumption of events.
' The client is blocked while waiting for events.
Public Class EventWatcherPolling
Public Overloads Shared Function _
Main(ByVal args() As String) As Integer
' Create event query to be notified within 1 second of
' a change in a service
Dim query As New WqlEventQuery( _
"__InstanceCreationEvent", _
New TimeSpan(0, 0, 1), _
"TargetInstance isa ""Win32_Process""")
' Initialize an event watcher and subscribe to events
' that match this query
Dim watcher As New ManagementEventWatcher
watcher.Query = query
' times 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.")
Dim e As ManagementBaseObject = _
watcher.WaitForNextEvent()
'Display information from the event
Console.WriteLine( _
"Process {0} has created, path is: {1}", _
CType(e("TargetInstance"), _
ManagementBaseObject)("Name"), _
CType(e("TargetInstance"), _
ManagementBaseObject)("ExecutablePath"))
'Cancel the subscription
watcher.Stop()
Return 0
End Function 'Main
End Class
Remarques
Sécurité du .NET Framework
Confiance totale pour l’appelant immédiat. Ce membre ne peut pas être utilisé par du code partiellement approuvé. Pour plus d’informations, consultez Utilisation de bibliothèques à partir de code partiellement approuvé.
S’applique à
ManagementEventWatcher(EventQuery)
- Source:
- ManagementEventWatcher.cs
- Source:
- ManagementEventWatcher.cs
- Source:
- ManagementEventWatcher.cs
- Source:
- ManagementEventWatcher.cs
Initialise une nouvelle instance de la ManagementEventWatcher classe lorsqu’une requête d’événement WMI est donnée.
public:
ManagementEventWatcher(System::Management::EventQuery ^ query);
public ManagementEventWatcher(System.Management.EventQuery query);
new System.Management.ManagementEventWatcher : System.Management.EventQuery -> System.Management.ManagementEventWatcher
Public Sub New (query As EventQuery)
Paramètres
- query
- EventQuery
Représentant EventQuery une requête d’événement WMI, qui détermine les événements pour lesquels l’observateur écoute.
Exemples
Dans cet exemple de code, le client reçoit une notification lorsqu’une instance de Win32_Process est créée, car la classe d’événements est __InstanceCreationEvent. Pour plus d’informations, consultez la documentation Windows Management Instrumentation. Le client reçoit des événements de façon synchrone en appelant la WaitForNextEvent méthode. Cet exemple peut être testé en démarrant un processus, tel que le Bloc-notes, tandis que l’exemple de code est en cours d’exécution.
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
string query =
"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(new EventQuery(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;
}
}
Imports System.Management
' This example shows synchronous consumption of events.
' The client is blocked while waiting for events.
Public Class EventWatcherPolling
Public Overloads Shared Function _
Main(ByVal args() As String) As Integer
' Create event query to be notified within 1 second of
' a change in a service
Dim query As String
query = "SELECT * FROM __InstanceCreationEvent " _
& "WITHIN 1 WHERE " & _
"TargetInstance isa ""Win32_Process"""
' Initialize an event watcher and subscribe to events
' that match this query
Dim watcher As New ManagementEventWatcher(New EventQuery( _
query))
' times 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.")
Dim e As ManagementBaseObject = _
watcher.WaitForNextEvent()
'Display information from the event
Console.WriteLine( _
"Process {0} has created, path is: {1}", _
CType(e("TargetInstance"), _
ManagementBaseObject)("Name"), _
CType(e("TargetInstance"), _
ManagementBaseObject)("ExecutablePath"))
'Cancel the subscription
watcher.Stop()
Return 0
End Function 'Main
End Class
Remarques
L’espace de noms dans lequel l’observateur écoute les événements est l’espace de noms par défaut actuellement défini.
Sécurité du .NET Framework
Confiance totale pour l’appelant immédiat. Ce membre ne peut pas être utilisé par du code partiellement approuvé. Pour plus d’informations, consultez Utilisation de bibliothèques à partir de code partiellement approuvé.
S’applique à
ManagementEventWatcher(String)
- Source:
- ManagementEventWatcher.cs
- Source:
- ManagementEventWatcher.cs
- Source:
- ManagementEventWatcher.cs
- Source:
- ManagementEventWatcher.cs
Initialise une nouvelle instance de la ManagementEventWatcher classe lorsqu’une requête d’événement WMI est donnée sous la forme d’une chaîne.
public:
ManagementEventWatcher(System::String ^ query);
public ManagementEventWatcher(string query);
new System.Management.ManagementEventWatcher : string -> System.Management.ManagementEventWatcher
Public Sub New (query As String)
Paramètres
- query
- String
Requête d’événement WMI, qui définit les événements pour lesquels l’observateur écoute.
Exemples
L’exemple suivant montre comment le client reçoit une notification lorsqu’une instance de Win32_Process est créée, car la classe d’événements est __InstanceCreationEvent. Pour plus d’informations, consultez la documentation Windows Management Instrumentation. Le client reçoit des événements de façon synchrone en appelant la WaitForNextEvent méthode. Cet exemple peut être testé en démarrant un processus, tel que le Bloc-notes, tandis que l’exemple de code est en cours d’exécution.
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
string query =
"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;
}
}
Imports System.Management
' This example shows synchronous consumption of events.
' The client is blocked while waiting for events.
Public Class EventWatcherPolling
Public Overloads Shared Function _
Main(ByVal args() As String) As Integer
' Create event query to be notified within 1 second of
' a change in a service
Dim query As String
query = "SELECT * FROM __InstanceCreationEvent " _
& "WITHIN 1 WHERE " & _
"TargetInstance isa ""Win32_Process"""
' Initialize an event watcher and subscribe to events
' that match this query
Dim watcher As New ManagementEventWatcher(query)
' times 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.")
Dim e As ManagementBaseObject = _
watcher.WaitForNextEvent()
'Display information from the event
Console.WriteLine( _
"Process {0} has created, path is: {1}", _
CType(e("TargetInstance"), _
ManagementBaseObject)("Name"), _
CType(e("TargetInstance"), _
ManagementBaseObject)("ExecutablePath"))
'Cancel the subscription
watcher.Stop()
Return 0
End Function 'Main
End Class
Remarques
L’espace de noms dans lequel l’observateur écoute les événements est l’espace de noms par défaut actuellement défini.
Sécurité du .NET Framework
Confiance totale pour l’appelant immédiat. Ce membre ne peut pas être utilisé par du code partiellement approuvé. Pour plus d’informations, consultez Utilisation de bibliothèques à partir de code partiellement approuvé.
S’applique à
ManagementEventWatcher(ManagementScope, EventQuery)
- Source:
- ManagementEventWatcher.cs
- Source:
- ManagementEventWatcher.cs
- Source:
- ManagementEventWatcher.cs
- Source:
- ManagementEventWatcher.cs
Initialise une nouvelle instance de la ManagementEventWatcher classe qui écoute les événements conformes à la requête d’événement WMI donnée.
public:
ManagementEventWatcher(System::Management::ManagementScope ^ scope, System::Management::EventQuery ^ query);
public ManagementEventWatcher(System.Management.ManagementScope scope, System.Management.EventQuery query);
new System.Management.ManagementEventWatcher : System.Management.ManagementScope * System.Management.EventQuery -> System.Management.ManagementEventWatcher
Public Sub New (scope As ManagementScope, query As EventQuery)
Paramètres
- scope
- ManagementScope
Représentant ManagementScope l’étendue (espace de noms) dans laquelle l’observateur écoute les événements.
- query
- EventQuery
Représentant EventQuery une requête d’événement WMI, qui détermine les événements pour lesquels l’observateur écoute.
Exemples
Dans cet exemple de code, le client reçoit une notification lorsqu’une instance de Win32_Process est créée, car la classe d’événements est __InstanceCreationEvent. Pour plus d’informations, consultez la documentation Windows Management Instrumentation. Le client reçoit des événements de façon synchrone en appelant la WaitForNextEvent méthode. Cet exemple peut être testé en démarrant un processus, tel que le Bloc-notes, tandis que l’exemple de code est en cours d’exécution.
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
string query =
"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(
new ManagementScope("root\\CIMV2"),
new EventQuery(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;
}
}
Imports System.Management
' This example shows synchronous consumption of events.
' The client is blocked while waiting for events.
Public Class EventWatcherPolling
Public Overloads Shared Function _
Main(ByVal args() As String) As Integer
' Create event query to be notified within 1 second of
' a change in a service
Dim query As String
query = "SELECT * FROM __InstanceCreationEvent " _
& "WITHIN 1 WHERE " & _
"TargetInstance isa ""Win32_Process"""
' Initialize an event watcher and subscribe to events
' that match this query
Dim watcher As New ManagementEventWatcher( _
New ManagementScope("root\CIMV2"), _
New EventQuery(query))
' times 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.")
Dim e As ManagementBaseObject = _
watcher.WaitForNextEvent()
'Display information from the event
Console.WriteLine( _
"Process {0} has created, path is: {1}", _
CType(e("TargetInstance"), _
ManagementBaseObject)("Name"), _
CType(e("TargetInstance"), _
ManagementBaseObject)("ExecutablePath"))
'Cancel the subscription
watcher.Stop()
Return 0
End Function 'Main
End Class
Remarques
Sécurité du .NET Framework
Confiance totale pour l’appelant immédiat. Ce membre ne peut pas être utilisé par du code partiellement approuvé. Pour plus d’informations, consultez Utilisation de bibliothèques à partir de code partiellement approuvé.
S’applique à
ManagementEventWatcher(String, String)
- Source:
- ManagementEventWatcher.cs
- Source:
- ManagementEventWatcher.cs
- Source:
- ManagementEventWatcher.cs
- Source:
- ManagementEventWatcher.cs
Initialise une nouvelle instance de la ManagementEventWatcher classe qui écoute les événements conformes à la requête d’événement WMI donnée. Pour cette variante, la requête et l’étendue sont spécifiées en tant que chaînes.
public:
ManagementEventWatcher(System::String ^ scope, System::String ^ query);
public ManagementEventWatcher(string scope, string query);
new System.Management.ManagementEventWatcher : string * string -> System.Management.ManagementEventWatcher
Public Sub New (scope As String, query As String)
Paramètres
- scope
- String
Étendue de gestion (espace de noms) dans laquelle l’observateur écoute les événements.
- query
- String
Requête qui définit les événements pour lesquels l’observateur écoute.
Exemples
L’exemple suivant montre comment le client reçoit une notification lorsqu’une instance de Win32_Process est créée, car la classe d’événements est __InstanceCreationEvent. Pour plus d’informations, consultez la documentation Windows Management Instrumentation. Le client reçoit des événements de façon synchrone en appelant la WaitForNextEvent méthode. Cet exemple peut être testé en démarrant un processus, tel que le Bloc-notes, tandis que l’exemple de code est en cours d’exécution.
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
string query =
"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("root\\CIMV2",
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;
}
}
Imports System.Management
' This example shows synchronous consumption of events.
' The client is blocked while waiting for events.
Public Class EventWatcherPolling
Public Overloads Shared Function _
Main(ByVal args() As String) As Integer
' Create event query to be notified within 1 second of
' a change in a service
Dim query As String
query = "SELECT * FROM __InstanceCreationEvent " _
& "WITHIN 1 WHERE " & _
"TargetInstance isa ""Win32_Process"""
' Initialize an event watcher and subscribe to events
' that match this query
Dim watcher As New ManagementEventWatcher( _
"root\CIMV2", query)
' times 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.")
Dim e As ManagementBaseObject = _
watcher.WaitForNextEvent()
'Display information from the event
Console.WriteLine( _
"Process {0} has created, path is: {1}", _
CType(e("TargetInstance"), _
ManagementBaseObject)("Name"), _
CType(e("TargetInstance"), _
ManagementBaseObject)("ExecutablePath"))
'Cancel the subscription
watcher.Stop()
Return 0
End Function 'Main
End Class
Remarques
Sécurité du .NET Framework
Confiance totale pour l’appelant immédiat. Ce membre ne peut pas être utilisé par du code partiellement approuvé. Pour plus d’informations, consultez Utilisation de bibliothèques à partir de code partiellement approuvé.
S’applique à
ManagementEventWatcher(ManagementScope, EventQuery, EventWatcherOptions)
- Source:
- ManagementEventWatcher.cs
- Source:
- ManagementEventWatcher.cs
- Source:
- ManagementEventWatcher.cs
- Source:
- ManagementEventWatcher.cs
Initialise une nouvelle instance de la ManagementEventWatcher classe qui écoute les événements conformes à la requête d’événement WMI donnée, en fonction des options spécifiées. Pour cette variante, la requête et l’étendue sont des objets spécifiés. L’objet options peut spécifier des options telles que les informations de délai d’attente et de contexte.
public:
ManagementEventWatcher(System::Management::ManagementScope ^ scope, System::Management::EventQuery ^ query, System::Management::EventWatcherOptions ^ options);
public ManagementEventWatcher(System.Management.ManagementScope scope, System.Management.EventQuery query, System.Management.EventWatcherOptions options);
new System.Management.ManagementEventWatcher : System.Management.ManagementScope * System.Management.EventQuery * System.Management.EventWatcherOptions -> System.Management.ManagementEventWatcher
Public Sub New (scope As ManagementScope, query As EventQuery, options As EventWatcherOptions)
Paramètres
- scope
- ManagementScope
Représentant ManagementScope l’étendue (espace de noms) dans laquelle l’observateur écoute les événements.
- query
- EventQuery
Représentant EventQuery une requête d’événement WMI, qui détermine les événements pour lesquels l’observateur écoute.
- options
- EventWatcherOptions
Représentant des EventWatcherOptions options supplémentaires utilisées pour surveiller les événements.
Exemples
L’exemple suivant montre comment le client reçoit une notification lorsqu’une instance de Win32_Process est créée, car la classe d’événements est __InstanceCreationEvent. Pour plus d’informations, consultez la documentation Windows Management Instrumentation. Le client reçoit des événements de façon synchrone en appelant la WaitForNextEvent méthode. Cet exemple peut être testé en démarrant un processus, tel que le Bloc-notes, tandis que l’exemple de code est en cours d’exécution.
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
string query =
"SELECT * FROM __InstanceCreationEvent "
+ "WITHIN 1 WHERE " +
"TargetInstance isa \"Win32_Process\"";
// Event options
// blockSize = 1, so wait for 1 event to return
EventWatcherOptions options = new EventWatcherOptions(
null, TimeSpan.MaxValue, 1);
// Initialize an event watcher and subscribe to events
// that match this query
ManagementEventWatcher watcher =
new ManagementEventWatcher(
new ManagementScope("root\\CIMV2"),
new EventQuery(query), options);
// 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;
}
}
Imports System.Management
' This example shows synchronous consumption of events.
' The client is blocked while waiting for events.
Public Class EventWatcherPolling
Public Overloads Shared Function _
Main(ByVal args() As String) As Integer
' Create event query to be notified within 1 second of
' a change in a service
Dim query As String
query = "SELECT * FROM __InstanceCreationEvent " _
& "WITHIN 1 WHERE " & _
"TargetInstance isa ""Win32_Process"""
' Event options
' blockSize = 1, so wait for 1 event to return
Dim options As New EventWatcherOptions( _
Nothing, TimeSpan.MaxValue, 1)
' Initialize an event watcher and subscribe to events
' that match this query
Dim watcher As New ManagementEventWatcher( _
New ManagementScope("root\CIMV2"), _
New EventQuery(query), _
options)
' 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.")
Dim e As ManagementBaseObject = _
watcher.WaitForNextEvent()
'Display information from the event
Console.WriteLine( _
"Process {0} has created, path is: {1}", _
CType(e("TargetInstance"), _
ManagementBaseObject)("Name"), _
CType(e("TargetInstance"), _
ManagementBaseObject)("ExecutablePath"))
'Cancel the subscription
watcher.Stop()
Return 0
End Function 'Main
End Class
Remarques
Sécurité du .NET Framework
Confiance totale pour l’appelant immédiat. Ce membre ne peut pas être utilisé par du code partiellement approuvé. Pour plus d’informations, consultez Utilisation de bibliothèques à partir de code partiellement approuvé.
S’applique à
ManagementEventWatcher(String, String, EventWatcherOptions)
- Source:
- ManagementEventWatcher.cs
- Source:
- ManagementEventWatcher.cs
- Source:
- ManagementEventWatcher.cs
- Source:
- ManagementEventWatcher.cs
Initialise une nouvelle instance de la ManagementEventWatcher classe qui écoute les événements conformes à la requête d’événement WMI donnée, en fonction des options spécifiées. Pour cette variante, la requête et l’étendue sont spécifiées en tant que chaînes. L’objet options peut spécifier des options telles qu’un délai d’attente et des informations de contexte.
public:
ManagementEventWatcher(System::String ^ scope, System::String ^ query, System::Management::EventWatcherOptions ^ options);
public ManagementEventWatcher(string scope, string query, System.Management.EventWatcherOptions options);
new System.Management.ManagementEventWatcher : string * string * System.Management.EventWatcherOptions -> System.Management.ManagementEventWatcher
Public Sub New (scope As String, query As String, options As EventWatcherOptions)
Paramètres
- scope
- String
Étendue de gestion (espace de noms) dans laquelle l’observateur écoute les événements.
- query
- String
Requête qui définit les événements pour lesquels l’observateur écoute.
- options
- EventWatcherOptions
Représentant des EventWatcherOptions options supplémentaires utilisées pour surveiller les événements.
Exemples
L’exemple suivant montre comment le client reçoit une notification lorsqu’une instance de Win32_Process est créée, car la classe d’événements est __InstanceCreationEvent. Pour plus d’informations, consultez la documentation Windows Management Instrumentation. Le client reçoit des événements de façon synchrone en appelant la WaitForNextEvent méthode. Cet exemple peut être testé en démarrant un processus, tel que le Bloc-notes, tandis que l’exemple de code est en cours d’exécution.
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
string query =
"SELECT * FROM __InstanceCreationEvent "
+ "WITHIN 1 WHERE " +
"TargetInstance isa \"Win32_Process\"";
// Event options
// blockSize = 1, so wait for 1 event to return
EventWatcherOptions options = new EventWatcherOptions(
null, TimeSpan.MaxValue, 1);
// Initialize an event watcher and subscribe to events
// that match this query
ManagementEventWatcher watcher =
new ManagementEventWatcher(
new ManagementScope("root\\CIMV2"),
new EventQuery(query), options);
// 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;
}
}
Imports System.Management
' This example shows synchronous consumption of events.
' The client is blocked while waiting for events.
Public Class EventWatcherPolling
Public Overloads Shared Function _
Main(ByVal args() As String) As Integer
' Create event query to be notified within 1 second of
' a change in a service
Dim query As String
query = "SELECT * FROM __InstanceCreationEvent " _
& "WITHIN 1 WHERE " & _
"TargetInstance isa ""Win32_Process"""
' Event options
' blockSize = 1, so wait for 1 event to return
Dim options As New EventWatcherOptions( _
Nothing, TimeSpan.MaxValue, 1)
' Initialize an event watcher and subscribe to events
' that match this query
Dim watcher As New ManagementEventWatcher( _
"root\CIMV2", _
query, _
options)
' 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.")
Dim e As ManagementBaseObject = _
watcher.WaitForNextEvent()
'Display information from the event
Console.WriteLine( _
"Process {0} has created, path is: {1}", _
CType(e("TargetInstance"), _
ManagementBaseObject)("Name"), _
CType(e("TargetInstance"), _
ManagementBaseObject)("ExecutablePath"))
'Cancel the subscription
watcher.Stop()
Return 0
End Function 'Main
End Class
Remarques
Sécurité du .NET Framework
Confiance totale pour l’appelant immédiat. Ce membre ne peut pas être utilisé par du code partiellement approuvé. Pour plus d’informations, consultez Utilisation de bibliothèques à partir de code partiellement approuvé.