代码之家  ›  专栏  ›  技术社区  ›  rein

在Windows中检测内存的总变化

  •  1
  • rein  · 技术社区  · 15 年前

    在Windows中是否有一个回调,当系统RAM总量发生变化时,它将通知我的应用程序?

    1 回复  |  直到 15 年前
        1
  •  3
  •   Steve Townsend    15 年前

    如果您可以选择 _InstanceCreationEvent _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 检测。