如果系统RAM的总量发生了变化,Windows中是否会有回调通知我的应用程序?
答案 0 :(得分:3)
如果您可以在课程_InstanceCreationEvent上选择_InstanceDeletionEvent和Win32_PhysicalMemory,则可以通过WMI执行此操作。
示例代码here(WMI是在C或C ++中使用的熊,抱歉 - C#会更容易)。只需在此处使用Win32_PhysicalMemory
而不是Win32_Process
进行查询:
hres = pSvc->ExecNotificationQueryAsync(
_bstr_t("WQL"),
_bstr_t("SELECT * "
"FROM __InstanceCreationEvent WITHIN 1 "
"WHERE TargetInstance ISA 'Win32_Process'"),
WBEM_FLAG_SEND_STATUS,
NULL,
pStubSink);
您还需要第二次通话才能__InstanceDeletionEvent
检测。