Is there a way to enumerate all active timers started with SetTimer() or SetCoalescableTimer() please? I wish to do this for all processes/windows, but thus far have not been able to find out how to do this and suspect it may not be possible.

Below you can see I have managed to do this for CreateWaitableTimer(), use NtQuerySystemInformation( SystemHandleInformation, ... ) and then scan for handles to Timer objects.

If I need to I can do this in my kernel mode driver, but obviously would prefer to do this totally in user mode.

I only really need this to work on Windows 7 and later, but ideally would support earlier versions of Windows and the CreateWaitableTimer() reporting works on NT V4.00 and later.

Name:  [System Timers].jpg
Views: 177
Size:  30.8 KB