It has limitations, but GetLastInputInfo() may give you what you need.
In reply to Re: Win32 idle state (screensaver like) by BrowserUk in thread Win32 idle state (screensaver like) by thenetfreaker