На форуме я видел ссылку на статью про принцип работы OutputDebugString и как получить сообщение им передаваемое. Я реализовал его, но этот вариант не работает в Win9x. Это значит что я где-то ошибся или в 9x OutputDebugString реализован по-другому? Код (Text): format PE console include '%inc%\win32a.inc' entry start start: invoke CreateFileMapping, -1, 0, PAGE_READWRITE, 0, 4096, sname test eax, eax jz .exit mov [fsect], eax invoke MapViewOfFile, [fsect], FILE_MAP_ALL_ACCESS, 0, 0, 4096 test eax, eax jz .exit mov [sect], eax invoke CreateEvent, 0, 0, 0, bname test eax, eax jz .exit mov [bev], eax invoke CreateEvent, 0, 0, 0, dname test eax, eax jz .exit mov [dev], eax invoke SetConsoleCtrlHandler, handlecon, 1 .work: invoke SetEvent, [bev] invoke WaitForSingleObject, [dev], -1 invoke ResetEvent, [bev] mov esi, [sect] xor eax, eax lodsd invoke printf, fmt, eax, esi jmp .work .exit: ret handlecon: mov eax, [esp+4] cmp eax, 2 je start.exit xor eax, eax sub esp, 4 ret fmt db 'Process', 9h, '%X', 9h, 'send', 9h, '%s', 10, 13, 0 sname db 'DBWIN_BUFFER', 0 dname db 'DBWIN_DATA_READY', 0 bname db 'DBWIN_BUFFER_READY', 0 fsect dd 0 sect dd 0 dev dd 0 bev dd 0 data import library kernel32, 'kernel32.dll',\ msvcrt, 'msvcrt.dll' include '%inc%\apia\kernel32.inc' import msvcrt,\ printf, 'printf' end data
Voodoo Это значит что ты действительно где-то ошибся Код (Text): format PE GUI 4.0 entry start include '%fasminc%\win32a.inc' section '.code' code readable executable align 4 start: invoke OutputDebugString, OutputString invoke ExitProcess, 0 section '.data' data readable writeable OutputString db "Test string",0 section '.idata' import data readable library kernel32,'KERNEL32.DLL' include '%fasminc%\APIA\KERNEL32.INC'
Хотя сейчас я подумал что ты не то спрашивал.. Вообще-то дебажную строку нужно получать из отладчика, как это и положено, при получении соответствующего отладочного события..
Извини, я не понял твоего ответа Мне кажется ты не понял вопроса В WinXP эта прога ловит все сообщения ODS. В Win98 - ничего. Меня это удивило Точнее меня заинтересовало, как же реализовать в Win98
Asterix, если бы ты сходил по ссылке, которую давал Four-F, ты бы понял, что Voodoo хочет реализовать свой DebugView