Скриншот от имени системы?

Тема в разделе "WASM.WIN32", создана пользователем krol, 25 авг 2011.

  1. krol

    krol New Member

    Публикаций:
    0
    Регистрация:
    6 авг 2011
    Сообщения:
    19
    Программа работает от System (как служба)

    Как можно:
    1. Прочесть параметры HKCU реестра залогиненного пользователя?
    2. Снять скриншот

    Нужно на 7, висте....

    На форуме висит пара веток, но похоже что решения так и нет.

    Можно в ядре )


    Простой вариант - в ядре аттачится к юзерскому процессу и читать из реестра?
    Или CreateRemotheThread всякие, но не нужны вопли проактивок.
     
  2. x64

    x64 New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2008
    Сообщения:
    1.370
    Адрес:
    Россия
    Прочитать реестр конкретного пользователя можно по пути \Registry\User\<SID>, т.е. это будет HKEY_USERS плюс относительный путь вида <SID>\<Path>. Список сеансов можно получить через WTSEnumerateSessions(), а текущий физический сеанс через WTSGetActiveConsoleSessionId(). Или можно воспользоваться функцией ProcessIdToSessionId(), если известен ID процесса в нужном сеансе. Зная ID сеанса, можно получить токен пользователя, вызвав WTSQueryUserToken(). Получить SID по токену можно через GetTokenInformation() с флагом TokenUser, а перевести SID в строку можно функцией ConvertSidToStringSid().
     
  3. krol

    krol New Member

    Публикаций:
    0
    Регистрация:
    6 авг 2011
    Сообщения:
    19
    Сенкс! Почти то что нужно! Это работает только когда юзер залогинен в текущий момент, да?