|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Мар 14, 2004 00:20:23 Здравствуйте. Люди, помогите пожалуйста начинающему. В главной процедуре окна строится стековый кадр для структуры MSG push ebp mov ebp,esp и достаем параметры: hwnd equ [ebp+08] lparam equ [ebp+0C] wparam equ [ebp+10] message equ [ebp+14] где находятся параметры time и pt? если по win32api то в [ebp+18] и [ebp+1C], если так то что в [ebp] и [ebp+04] ? |
|
|
Дата: Мар 14, 2004 00:25:05 Параметры чего? |
|
|
Дата: Мар 14, 2004 00:30:10 Структуры MSG |
|
|
Дата: Мар 14, 2004 02:32:59 [ebp] - находится старый ebp ; push ebp [ebp+04] - адрес возврата из "процедуры" |
|
|
Дата: Мар 14, 2004 02:40:33 80x86 Похоже, что Вы подразумеваете не WinMain, а WndProc. Среди параметров оконной процедуры нет time и pt. |
|
|
Дата: Мар 14, 2004 02:51:49 А что тебя смущает??? Параметры time и pt действительно будут в [ebp+18h] и [ebp+0Ch], но только если это единственный стековый кадр. А вообще, если пишеш на МАСМе, используй директиву LOCAL: aaa proc LOCAL ms:MSG ... mov eax,ms.pt.x ... aaa endp |
|
|
Дата: Мар 14, 2004 03:16:57 80x86 Судя по hwnd equ [ebp+08] , вы про оконную процедуру aka WndProc. В нее параметры time и pt не передаются. Вы их получаете, вызвав GetMessage/PeekMessage в "основном цикле выборки сообщений" - там и строится стековый кадр для MSG. (потом вызываете DispathMessage, которая уже вызывает вашу WndProc, но эти параметры "теряются". MS рекомендует для их получения в WndProc использовать соотв. функции) В WndProc [ebp] <- результат push ebp, т.е. старое ebp [ebp+04] <- адрес для ret |
|
|
Дата: Мар 14, 2004 03:18:36 Ого! Ну я и печатаю.. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.068 |