Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: OutputDebugString trouble  (Прочитано 4032 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Voodoo
Гость
« : 22-12-2004 10:25 » 

Нужно было написать простенький аналог DbgView. Написал. НО, как выяснилось, использованный алгоритм работает только в NT+. Значит ли это, что я где-то ошибся или в 9х OutputDebugString реализован как-то иначе?
Код:
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

      .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

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                                 
ЗЫ:
 сорри за асм-овый код, но что есть...
« Последнее редактирование: 13-12-2007 18:20 от Алексей1153++ » Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines