Программа работает от System (как служба) Как можно: 1. Прочесть параметры HKCU реестра залогиненного пользователя? 2. Снять скриншот Нужно на 7, висте.... На форуме висит пара веток, но похоже что решения так и нет. Можно в ядре ) Простой вариант - в ядре аттачится к юзерскому процессу и читать из реестра? Или CreateRemotheThread всякие, но не нужны вопли проактивок.
Прочитать реестр конкретного пользователя можно по пути \Registry\User\<SID>, т.е. это будет HKEY_USERS плюс относительный путь вида <SID>\<Path>. Список сеансов можно получить через WTSEnumerateSessions(), а текущий физический сеанс через WTSGetActiveConsoleSessionId(). Или можно воспользоваться функцией ProcessIdToSessionId(), если известен ID процесса в нужном сеансе. Зная ID сеанса, можно получить токен пользователя, вызвав WTSQueryUserToken(). Получить SID по токену можно через GetTokenInformation() с флагом TokenUser, а перевести SID в строку можно функцией ConvertSidToStringSid().