Buscando en DuckDuckGo he encontrado que existe una función del API llamada SystemParametersInfo, que al parecer devuelve información de estado del sistema, entre otras cosas el estado del salvapantallas.
Por desgracia sólo encuentro información para VisualBasic, pero parece prometedora. Mira
aquí.
De todas formas, si no recuerdo mal de cuando programaba en C para Windows 3.1, el sistema enviaba un mensaje antes de activar el salvapantallas, aunque creo que era un mensaje genérico (tipo WM_PAUSE o WM_BACKGROUND o algo así) y no específico de salvapantallas.