|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Авг 5, 2004 20:10:16 Имеем такой код: proc EnumWindowsFunc, hwnd, lParam .sBuff rb 256 enter invoke GetWindowText, [hwnd], .sBuff, 256 invoke lstrcmpi, WindowText, .sBuff test eax, eax jnz @F invoke EnumChildWindows, [hwnd], EnumChildWindowsFunc, 0 xor eax, eax jmp .finish @@: xor eax, eax inc eax .finish: return endp Fasm ругается на буффер .sBuff при invoke, что я делаю не так? Или fasm не умеет брать адрес стекового буфера подобно ADDR в masm32? |
|
|
Дата: Авг 5, 2004 21:58:13 надо lea вручную делать |
|
|
Дата: Авг 5, 2004 22:57:42 comrade Спасибо. Вобщем я так и думал, но надеялся что это должно быть учтено в макросе invoke или другом каком-нибудь. |
|
|
Дата: Авг 6, 2004 02:16:46 посмотри на новые макросы которые сделал S.T.A.S. |
|
|
Дата: Авг 6, 2004 02:43:11 Кстати я тут нашёл что Privalov говорил WIN32AX.INC поддерживает ADDR. |
|
|
Дата: Авг 6, 2004 08:17:09 Судя по тексту макроса - точно поддерживает. |
|
|
Дата: Авг 6, 2004 15:13:16 Макросы в WIN32AX.INC/WIN32AXP.INC рулят :-) include '%fasminc%\win32axp.inc' .code align 4 proc EnumChildWindowsFunc, hwnd, lParam .Buff rb 64 enter invoke GetWindowText, [hwnd], ADDR .Buff, 64 invoke lstrcmpi, ButtonText, ADDR .Buff test eax, eax jnz @F invoke ShowWindow, [hwnd], SW_HIDE xor eax, eax jmp .finish @@: xor eax, eax inc eax .finish: return endp align 4 proc EnumWindowsFunc, hwnd, lParam .Buff rb 256 enter invoke GetWindowText, [hwnd], ADDR .Buff, 256 invoke lstrcmpi, WindowText, ADDR .Buff test eax, eax jnz @F invoke EnumChildWindows, [hwnd], EnumChildWindowsFunc, 0 xor eax, eax jmp .finish @@: xor eax, eax inc eax .finish: return endp align 4 start: invoke EnumWindows, EnumWindowsFunc, 0 invoke ExitProcess, 0 .data WindowText db 'Калькулятор',0 ButtonText db 'Hex',0 .end start |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.089 |