Мастера DELPHI, Delphi programming community Рейтинг@Mail.ru Титульная страница Поиск, карта сайта Написать письмо 
| Новости |
Новости сайта
Поиск |
Поиск по лучшим сайтам о Delphi
FAQ |
Огромная база часто задаваемых вопросов и, конечно же, ответы к ним ;)
Статьи |
Подборка статей на самые разные темы. Все о DELPHI
Книги |
Новинки книжного рынка
Новости VCL
Обзор свежих компонент со всего мира, по-русски!
|
| Форумы
Здесь вы можете задать свой вопрос и наверняка получите ответ
| ЧАТ |
Место для общения :)
Орешник |
Коллекция курьезных вопросов из форумов
KOL и MCK |
KOL и MCK - Компактные программы на Delphi
Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / rsdn.org

 
Чтобы не потерять эту дискуссию, сделайте закладку « предыдущая ветвь | форум | следующая ветвь »

Как снять скриншот экрана при отключенном сеансе?


DayGaykin ©   (30.08.17 10:01

Захожу по РДП, работаю - программа снимает скриншоты.
Отключаюсь - вместо скриншотов черные экраны.
Можно как-нибудь вылечить?

Windows 7.


Игорь Шевченко ©   (30.08.17 10:27[1]

Скриншот ЧЕГО ты собираешься снимать ?


rrrrrrr ©   (30.08.17 11:04[2]

скриншот того, чего он сам только что прервал.

Можно как-нибудь вылечить?

чтобы не черный а белый был?


DayGaykin ©   (30.08.17 13:57[3]


> Игорь Шевченко ©   (30.08.17 10:27) [1]
> Скриншот ЧЕГО ты собираешься снимать ?

Рабочего стола с окнами.

Может можно как-то сделать, чтобы при отключении по RDP сеанс автоматических переходил на консоль (или как это называется)?


rrrrrrr ©   (30.08.17 14:29[4]

как он куда-либо там перейдет, если сам сеанс при этом перестает быть живым.


ВладОшин ©   (30.08.17 14:32[5]

поставить агента туда, на удаленку
он пусть снимает после WTSDisconnected и пересылает потом пачкой

под гугл

 LibHandle := LoadLibrary('wtsapi32.dll');
 if LibHandle <> 0 then
 begin
   @WTSQuerySessionInformation := GetProcAddress(LibHandle, 'WTSQuerySessionInformationA');


Игорь Шевченко ©   (30.08.17 14:36[6]


> Рабочего стола с окнами.


Рабочий стол - это рабочий стол твоего сеанса. Нет сеанса - нет рабочего стола.


DayGaykin ©   (30.08.17 14:50[7]


>
> Рабочий стол - это рабочий стол твоего сеанса. Нет сеанса
> - нет рабочего стола.

А окна в этот момент где?


rrrrrrr ©   (30.08.17 14:51[8]

там же точно где и все процессы, запущенные с этого стола.
в лучшем из миров


Delphi admirer ©   (30.08.17 16:10[9]

эмм... Вообще-то вовсе не обязательно чтоб при отключении RDP сеанс завершался.
У нас у части клиентов сеанс остаётся живой, все процессы продолжают работать, можно подключиться опять и оказаться в абсолютно том же сеансе.

> работаю - программа снимает скриншоты.

Что за программа? Где находится? Как и под кем запускается? Что конкретно делает? Как проверяете?


rrrrrrr ©   (30.08.17 16:14[10]

Вообще-то вовсе не обязательно чтоб при отключении RDP сеанс завершался.

ну естественно не обязательно.
если на крестик нажать в панели, то сеанс останется.

но так как про крестик не было уточнено, то считаем что там было "безопасность виндовс->завершить сеанс"

то есть никакого сеанса там больше нет.
нет запущенных сеансом процессов.
ничего там нет


ВладОшин ©   (30.08.17 16:44[11]

Серьезно, имхо, надо туда ставить свою приблуду.
WTSQuerySessionInformationA и смежные ей темы на msdn почитать, там несложно. Как только закрыли окошко - скрины делаются "там", при возобновлении - передаются архивом и не делаются до следующего обрыва(или делаются)

ибо, действительно,
->завершить сеанс
понятно, что ничего нет там тогда

но раз что-то хочет оттуда, наверное, все-таки не так было )

везет вам..
у нас за требование "излишней" формальности от юзера наказывают )
Ибо надо было понять. "Двоичность (с) ЮЗ" не приветствуется..


rrrrrrr ©   (30.08.17 16:50[12]

Ибо надо было понять.

тест на понимание чего там происходило реально.

по телефону:
"я качаю файл. ой! он вдруг в обратную сторону начал качаться!"


DayGaykin ©   (30.08.17 16:59[13]

Я ничего не говорил про завершение сеанса. Написано же "отключаюсь". Я отключаюсь, а моя программа продолжает делать скриншоты. По на время отключения скриншоты не получается делать - вместо картинки черный прямоугольник.


> ВладОшин ©   (30.08.17 16:44) [11]

Не совсем понимаю о чем вы.
И не понятно почему везет.


ВладОшин ©   (30.08.17 17:36[14]


> тест на понимание чего там происходило реально.

Прогресс-бар уменьшился? )
В связи с падением скорости, например


> Не совсем понимаю о чем вы.
> И не понятно почему везет.

да ладно, не важно )


ВладОшин ©   (30.08.17 17:46[15]


> rrrrrrr ©   (30.08.17 16:50) [12]

Это еще ладно, а вот заявка, точно не помню, но примерно )))

"Просьба пояснить как произошла запись "12:45:30 - Авария""

Открываешь лог и смотришь
# user action TPMMaskEdit.KeyPress Key[1] eReason (XY 496,480)
# user action TPMMaskEdit.KeyPress Key[2] eReason (XY 496,480)
# user action TPMMaskEdit.KeyPress Key[:] eReason (XY 496,480)
...
# user action TPMMaskEdit.KeyPress Key[я] eReason (XY 496,480)
# user action TPMMaskEdit.KeyPress Key[:] eReason (XY 496,480)
# user action TPMCheckBox.MouseDown ckBye (XY 424,744)
# user action TPMButton.Click tbnSave (XY 520,800)

и пишешь ответ
"
Методом последовательного нажатия клавиш 1,2,:,4,5,:,3,0, ,-, ,А,в,а,р,и,я
оператор набрал фразу 12:45:30 - Авария
Путем клика мышки отметил галку Прощание и ею же (мышкой) нажал кнопку Записать причину бездействия
Зависаний и разрывов связи с БД, RDP не зафиксировано. % загрузки CPU был около 0.
Информация по заявке предоставлена. Просьба подтвердить/опровергнуть возможность закрытия заявки
"


Игорь Шевченко ©   (30.08.17 22:35[16]

ВладОшин ©   (30.08.17 17:46) [15]

Недопонял, каким образом твой пост связан с темой ветки.

DayGaykin ©   (30.08.17 16:59) [13]

Когда ты отключаешься, системе больше не надо рисовать окошки, так как их никто не увидит, поэтому она не рисует ничего.


ВладОшин ©   (31.08.17 09:01[17]


> Игорь Шевченко ©   (30.08.17 22:35) [16]

[15] - никак, виноват, пошутить пытался


DayGaykin ©   (31.08.17 15:23[18]


> Игорь Шевченко ©   (30.08.17 22:35) [16]
>

Понятно, спасибо. А есть идеи?

Это все в рамкой того же кликера. Когда происходит какая-то ошибка он делает скриншот и отправляет его в письме. При отключенном сеансе - черный прямоугольник.


ухты ©   (31.08.17 17:18[19]

Аеро в таскбаре умеет показывать то что не рисуется. Посмотреть в ту сторону?


Игорь Шевченко ©   (31.08.17 18:21[20]


>  А есть идеи?


Да, отсылать не скриншот, а полезные данные, помогающие локализовать ошибку.


> Это все в рамкой того же кликера


Что такое кликер ?


DayGaykin ©   (31.08.17 18:41[21]


> Да, отсылать не скриншот, а полезные данные, помогающие
> локализовать ошибку.

Так отправляю лог, где все указано. Скриншот ускоряет понимание ошибки.

Кликер — любое устройство, издающее звук щелчка при использовании. Я имел ввиду, программу, которая использует другое приложение  "кликанием" мышкой, помимо прочего.


Delphi admirer ©   (02.09.17 00:27[22]

Вы совсем не указали как же конкретно вы выполняете "программа снимает скриншоты"... Где код? Пробовали ли вы "другой" код, какие результаты?

На вскидку - каков результат PrintWindow()?


версия для печати

Написать ответ

Ваше имя (регистрация  E-mail 







Разрешается использование тегов форматирования текста:
<b>жирный</b> <i>наклонный</i> <u>подчеркнутый</u>,
а для выделения текста программ, используйте <code> ... </code>
и не забывайте закрывать теги! </b></i></u></code> :)


Наверх

  Рейтинг@Mail.ru     Титульная страница Поиск, карта сайта Написать письмо