如果系统 RAM 总量发生变化,Windows 中是否有回调通知我的应用程序?
最佳答案
如果您可以获取 _InstanceCreationEvent,您也许可以通过 WMI 执行此操作和 _InstanceDeletionEvent上课Win32_PhysicalMemory .
有示例代码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
。
关于c - 检测 Windows 中的总 RAM 变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4150426/