DirectDraw Захват поверхностей

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Gemini
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 390
Зарегистрирован: 24.07.2002 (Ср) 14:15
Откуда: Ozersk

DirectDraw Захват поверхностей

Сообщение Gemini » 09.12.2007 (Вс) 16:45

Когда запускается любаля 2D игра она загружает на поверхность(Surface) фаил с изображением, как я понимаю это опредилённый кусок памяти.
И вот суть вопроса: зная процесс и т.д. можно ли добраться до чужих (не моя программа и писана не на VB) созданных поверхностей и по возможности сохранить их в фаил в виде например bmp?

Если нет то такое вообще возможно?

Gemini
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 390
Зарегистрирован: 24.07.2002 (Ср) 14:15
Откуда: Ozersk

Сообщение Gemini » 09.12.2007 (Вс) 21:06

Или как побыстрее перебрать все существующие hDc.

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 10.12.2007 (Пн) 11:26

const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Gemini
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 390
Зарегистрирован: 24.07.2002 (Ср) 14:15
Откуда: Ozersk

Сообщение Gemini » 10.12.2007 (Пн) 19:38

не, надо программно добраться до surface поверхностей,.
По поводу hdc: надо точно знать какие hdc существуют (в данный момент времени) чтобы не перебирать миллионы.
А Fraps это прога для снятия скриншотов. (немного нето) (надо каждый surface отдельно)

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 11.12.2007 (Вт) 10:37

Gemini писал(а):не, надо программно добраться до surface поверхностей


И что не устроило в статье, описывающей как это сделать?
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: SemrushBot и гости: 21

    TopList