Вернуться   CoderX :: Forums > Основные форумы > Программинг
Войти через OpenID

Программинг Форум для тем связанных с программированием

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 12.06.2012, 21:29   #1
Пользователь
 
Регистрация: 14.11.2007
Адрес: Silent Hill
Сообщений: 38
Сказал Спасибо: 4
Имеет 13 спасибок в 4 сообщенях
BotLegacy пока неопределено
По умолчанию Скриншот окна содержащего рендерер (D3D, OpenGL, etc)

BitBlt делает снимок экрана, а не окна.
PrintWindow возвращает квадрат малевича, т.к. рендереры срали на WM_PRINT, а PrintWindow это по сути оболочка для WM_PRINT http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
Цитата:
The application that owns the window referenced by hWnd processes the PrintWindow call and renders the image in the device context that is referenced by hdcBlt. The application receives a WM_PRINT message or, if the PW_PRINTCLIENT flag is specified, a WM_PRINTCLIENT message. For more information, see WM_PRINT and WM_PRINTCLIENT.
Примерно год назад нашёл функцию, которая без инжектов и внедрения в DX делала скриншот именно с окон содержащих рендерер и с окон веб-браузеров. К сожалению потерял её - когда менял ноут на новый комп, забыл снять с него старые проекты.

Последний раз редактировалось BotLegacy, 13.06.2012 в 09:55.
BotLegacy вне форума   Ответить с цитированием
Старый 12.06.2012, 21:43   #2
Местный
 
Аватар для J-Fobos
 
Регистрация: 09.06.2008
Сообщений: 867
Сказал Спасибо: 175
Имеет 468 спасибок в 259 сообщенях
J-Fobos пока неопределено
По умолчанию

Гугл не модный нынче http://www.kansoftware.ru/?tid=1293
__________________

В любом из нас спит гений. И с каждым днем все крепче.

Переходим на протокол нового поколения jabber
J-Fobos вне форума   Ответить с цитированием
Старый 12.06.2012, 22:24   #3
Пользователь
 
Регистрация: 14.11.2007
Адрес: Silent Hill
Сообщений: 38
Сказал Спасибо: 4
Имеет 13 спасибок в 4 сообщенях
BotLegacy пока неопределено
По умолчанию

J-Fobos
Ты хоть смотрел, что по твоей ссылке? Или первую попавшуюся из гугла скопирнул чтоб выебнуться?

Добавлено через 34 минуты
Пойду спать.
Yegor, жду ваш код где PrintWindow скриншотит. Защит никаких не было и нету.

Последний раз редактировалось BotLegacy, 12.06.2012 в 22:24. Причина: Добавлено сообщение
BotLegacy вне форума   Ответить с цитированием
Старый 13.06.2012, 00:32   #4
Местный
 
Аватар для Yegor
 
Регистрация: 05.04.2009
Сообщений: 1,436
Сказал Спасибо: 306
Имеет 122 спасибок в 98 сообщенях
Yegor пока неопределено
По умолчанию

PHP код:
function PrintWindow(hwndHWNDhdcBltHDCnFlagsUINT): BOOLstdcallexternal user32;


function 
GetWindowBitmap(hwHWND): TBitmap;
var
  
wHeightwWidthword;
  
rectTRect;
begin
    Result
:= nil;
    if 
GetWindowRect(hwrectthen
    begin
      Result
:= TBitmap.Create;
      
wWidth:= rect.Right rect.Left;
      
wHeight:= rect.Bottom rect.Top;
      
Result.Width:= wWidth;
      
Result.Height:= wHeight;
      
PrintWindow(hwResult.Canvas.Handle0);
    
end;
end
__________________
Продажа чистых аккаунтов 4G, L2 EU, AARu, AA EU, Aion EU, Tera RU, Tera EU (ICQ 594297609)
Продажа VK авторег аккаунтов (ICQ 594297609)

Последний раз редактировалось Yegor, 13.06.2012 в 00:36.
Yegor вне форума   Ответить с цитированием
Старый 13.06.2012, 09:50   #5
Пользователь
 
Регистрация: 14.11.2007
Адрес: Silent Hill
Сообщений: 38
Сказал Спасибо: 4
Имеет 13 спасибок в 4 сообщенях
BotLegacy пока неопределено
По умолчанию

Yegor, отличные сказки вы рассказывайте.

http://forum.sources.ru/index.php?showtopic=358776
И не надо нести откровенный бред про защиты - нету никакой защиты, эта функция с любой игры возвращает квадрат малевича - хоть с Пиратов Карибского Моря, хоть с эмулятора Сеги, хоть с веб-браузера.

Последний раз редактировалось BotLegacy, 13.06.2012 в 09:59.
BotLegacy вне форума   Ответить с цитированием
Старый 13.06.2012, 11:34   #6
Местный
 
Регистрация: 10.08.2010
Сообщений: 634
Сказал Спасибо: 22
Имеет 95 спасибок в 70 сообщенях
mira пока неопределено
По умолчанию

Ну я делал както так (других надежных способов ненашол, может и есть).

перехватываем создание интерфейса директх-девайса и при создании добавляем флаг LOCKAВLE_ВACKBUFFER иначе мы не получим к нему доступ. Запоминаем созданый экземпляр.

когда нам нужно получить отрендереный имадж - вызываем метод idirect3ddevice9 возвращающий интерфейс бекбуфера. Там 2 способа считать его - создать hdc и отблитить либо залочить и скопировать массив пикселей.

мб чето я перепутал но суть такая, и у меня работало у меня

Добавлено через 15 минут
Без инжектов хз ваще как получить доступ к буферу в неактивном окне. Контекст окна 1 фиг нам бесполезен.

Добавлено через 33 минуты
Printwindow ясен пень не будет работать так как обращаетса к gdi. Рендеры же работают конкурентно с гди и пересекаютса тока на экранной поверхности. Им пох на то что рисует само окно, а оно обычно в играх ниче не рисует вот, и квадрат малевича.
__________________
читернуть бы ништяг

Последний раз редактировалось mira, 13.06.2012 в 11:34. Причина: Добавлено сообщение
mira вне форума   Ответить с цитированием
Старый 13.06.2012, 14:10   #7
Местный
 
Аватар для Yegor
 
Регистрация: 05.04.2009
Сообщений: 1,436
Сказал Спасибо: 306
Имеет 122 спасибок в 98 сообщенях
Yegor пока неопределено
По умолчанию

Возможно зависит от ОС у меня Win7, результат во вложении.

На всяк случай попробуйте получить моей демо программой (во вложении)
Миниатюры
Нажмите на изображение для увеличения
Название: L2PrintScreen.jpg
Просмотров: 85
Размер:	240.2 Кб
ID:	2688  
Вложения
Тип файла: rar PicAnalizer.rar (167.2 Кб, 40 просмотров)
__________________
Продажа чистых аккаунтов 4G, L2 EU, AARu, AA EU, Aion EU, Tera RU, Tera EU (ICQ 594297609)
Продажа VK авторег аккаунтов (ICQ 594297609)

Последний раз редактировалось Yegor, 13.06.2012 в 14:13.
Yegor вне форума   Ответить с цитированием
Старый 13.06.2012, 14:14   #8
Пользователь
 
Регистрация: 11.03.2011
Сообщений: 73
Сказал Спасибо: 4
Имеет 8 спасибок в 4 сообщенях
Anfet пока неопределено
По умолчанию

Цитата:
Сообщение от mira Посмотреть сообщение
перехватываем создание интерфейса директх-девайса и при создании добавляем флаг LOCKAВLE_ВACKBUFFER иначе мы не получим к нему доступ. Запоминаем созданый экземпляр.
Самое интересное, что этот флаг вообще не гарантирует то, что доступ можно будет получить.
А потом начинается веселье с тем что тебе нужно забрать буфер, а он тоже далеко не всегда (почему-то) может быть доступен.

А вообще мира правду говорит. Неактивное окно не заскринить просто так.
(я уже на этом съел собаку).

Последний раз редактировалось Anfet, 13.06.2012 в 14:17.
Anfet вне форума   Ответить с цитированием
Старый 13.06.2012, 14:17   #9
Местный
 
Аватар для Yegor
 
Регистрация: 05.04.2009
Сообщений: 1,436
Сказал Спасибо: 306
Имеет 122 спасибок в 98 сообщенях
Yegor пока неопределено
По умолчанию

mira, с помощью твоего метода и в свернутом окне можно получить скрин и оно получит именно новую отрендеренную картинку или последнюю которая рендерилась до сворачивания?
__________________
Продажа чистых аккаунтов 4G, L2 EU, AARu, AA EU, Aion EU, Tera RU, Tera EU (ICQ 594297609)
Продажа VK авторег аккаунтов (ICQ 594297609)
Yegor вне форума   Ответить с цитированием
Старый 13.06.2012, 14:19   #10
Пользователь
 
Регистрация: 11.03.2011
Сообщений: 73
Сказал Спасибо: 4
Имеет 8 спасибок в 4 сообщенях
Anfet пока неопределено
По умолчанию

Цитата:
Сообщение от Yegor Посмотреть сообщение
mira, с помощью твоего метода и в свернутом окне можно получить скрин и оно получит именно новую отрендеренную картинку или последнюю которая рендерилась до сворачивания?
Свернутое окно вообще не рендерится (если мы о ла2).
__________________
l2tracker - самый правильный бот для L2
Anfet вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Основные форумы > Программинг



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 05:12.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!