0

我有一个问题,我似乎无法找到答案。我正在使用 WMI 创建一些定时事件,到目前为止它们运行良好。事件按预期在预定周期重复。我现在正在寻找一种方法来创建一个“一次性”事件,该事件不会重复并且似乎无法弄清楚或在任何地方找到答案。

以下是 MSDN 网站上创建重复事件的示例:

// Win32_LocalTime and Win32_UTCTime reside in root\cimv2 namespace. 
// Defining the EventNamespace allows the filter
// to be compiled in any namespace.
instance of __EventFilter as $FILT1
{
    Name  = "wake-up call";
    Query = "SELECT * FROM __InstanceModificationEvent WHERE "    
    "TargetInstance ISA \"Win32_LocalTime\" AND "
    "TargetInstance.Hour = 0 AND TargetInstance.Minute = 0 AND "
 "TargetInstance.Second = 0";
    QueryLanguage = "WQL";
    EventNamespace = "root\\cimv2";
};

我想要的是让它不重复。有任何想法吗?

干杯

青蛙

4

1 回答 1

0

__InstanceModificationEvent类是一个内在事件,它报告何时对 WMI 类的实例进行了更改,在这种情况下正在侦听Win32_LocalTime返回当前时间的 WMI 类。现在,如果您想创建一个非重复事件,您可以将年、月和日属性添加到 WQL 语句中。

instance of __EventFilter as $FILT1
{
    Name  = "wake-up call";
    Query = "SELECT * FROM __InstanceModificationEvent WHERE "    
    "TargetInstance ISA \"Win32_LocalTime\" AND "
    "TargetInstance.Hour = 0 AND TargetInstance.Minute = 0 AND TargetInstance.Second = 0 AND "
    "TargetInstance.Year=2012 AND TargetInstance.Month=7 AND TargetInstance.Day=12";
    QueryLanguage = "WQL";
    EventNamespace = "root\\cimv2";
};
于 2012-07-12T15:28:30.617 回答