Получение скриншота на уровне 'Local system'

Тема в разделе "WASM.WIN32", создана пользователем nbyte, 28 дек 2007.

  1. nbyte

    nbyte New Member

    Публикаций:
    0
    Регистрация:
    27 май 2007
    Сообщения:
    161
    Здравствуйте.
    У меня следующая ситуация.
    Написал сервис (который работает не под юзером, а под 'Local system') и немогу понять как получить правильно скриншот.
    Тоесть все стандартные методы известные мне неработают, например через GetDC получаю полностью белый экран, а через hdcScreen := CreateDC('DISPLAY', nil, nil, nil); получаю полностью черный экран. :)
    Сколько гуглил находил похожие ситуации но без ответов.
    Подскажите пожалуйста если кто знает как правильно получить скришот? Хотя-бы в какую сторону смотреть?
     
  2. roman_pro

    roman_pro New Member

    Публикаций:
    0
    Регистрация:
    9 фев 2007
    Сообщения:
    291
    Копать в сторону OpenWindowStation/SetProcessWindowStation/OpenDesktop/SetThreadDesktop, где-то вроде даже исходник проскакивал.
     
  3. ECk

    ECk Member

    Публикаций:
    0
    Регистрация:
    9 апр 2004
    Сообщения:
    454
    Адрес:
    Russia
    или DirectDraw
     
  4. nbyte

    nbyte New Member

    Публикаций:
    0
    Регистрация:
    27 май 2007
    Сообщения:
    161
    А как он назывался? Где я его могу найти?
     
  5. roman_pro

    roman_pro New Member

    Публикаций:
    0
    Регистрация:
    9 фев 2007
    Сообщения:
    291
    Погуглить например http://209.85.135.104/search?q=cache:Mc--boAViEAJ:www.governmentsecurity.org/forum/lofiversion/index.php/t19161.html+SetThreadDesktop+CreateCompatibleDC&hl=ru&ct=clnk&cd=4&client=opera
     
  6. abb

    abb New Member

    Публикаций:
    0
    Регистрация:
    7 дек 2007
    Сообщения:
    11
    Мож я глупый вопрос задаю но не понял, а какой собсна скриншот нужен? От экрана какого юзера? У разных юзеров разные экраны. Юзеров может быть несколько. Тут IMHO надо что-то из области ImpersonateProcessAsUser() юзать... Я не прав?