|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Авг 15, 2004 12:30:41 Есть у меня старая игрушка и хочется заставить ее работать в окне. Опытным путем :) было установлено, что функцией SetWindowPos устанавливается размер 400 на 300 в точку (0,0). Проблема в том, что она находится где-то в дебрях ddraw. Как там пропатчить я не знаю при том, что после ее вызова SoftIce через раз перезагружает систему. На sysenter. Как можно это провернуть? |
|
|
Дата: Авг 15, 2004 13:00:34 Хм, мне ведь никто не мешает сделать SetWindowProc еще раз, но тогда это будет просто область на экране... Надо попробовать. А можно создать окно и привязать к нему DirectDraw? |
|
|
Дата: Авг 15, 2004 16:25:10 DirectDraw в любом случае "привязывается" к окну. Ищите вызов DirectDrawCreate(Ex), далее будут вызовы через COM VTable Что-то вроде: lpDD->SetCooperativeLevel(hwnd, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN); lpDD->SetDisplayMode(400, 300, 8); В самом простом случае попробуйте поменять DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN на 0 и убрать SetDisplayMode. Хотя если старая игрушка, то наверняка используется палитра, и в случае с окном могут быть проблемы.. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.071 |