我必须枚举在我的机器上运行的所有进程并通知是否会发生某些更改(例如:更改窗口的可见性,打开新窗口,关闭窗口)。
为了枚举所有进程,我可以使用MSDN提供的这个功能:https://msdn.microsoft.com/en-us/library/windows/desktop/ms682623(v=vs.85).aspx我认为我需要保存正在运行的进程列表并检查(如果没有轮询?)如果它发生了变化。我可以在不保存当前运行过程的情况下完成吗?
对于此处的可见性更改https://msdn.microsoft.com/it-it/library/windows/desktop/ms646274(v=vs.85).aspx,我发现VM_ACTIVATE
消息已发送到两个窗口。我该怎么抓住它?我可以用其他方式吗?
答案 0 :(得分:0)
对于此主题感兴趣的人,我发现要检查窗口是否已创建或销毁我将使用SetWinEventHook()
,就像在example of its MSDN page中一样。我只是检查event
值是EVENT_OBJECT_CREATE
还是EVENT_OBJECT_DESTROY
。对于其他活动,请查看event constants list。