информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Атака на InternetSpanning Tree Protocol: недокументированное применениеСтрашный баг в Windows
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[win32] wh_getmessage под win2k... глючит... 14.07.01 04:25  
Автор: MemoBreaker Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Поможите кто чем может... Может кто сталкивался сЭТИМ
WH_GETMESSAGE
Проблема в том, что моя процедура обработки сообщений, почти нормально работая под Windows98, отказывается правильно работать под Win2K...
Если быть точнее, то данная процедура работает как глобальная для Win98, но как локальная для Win2K.
Все на асме... ну да, извращенец.
===========================
Сорец процедуры GetMsgProc:
===========================
GetMsgProc proc nCode:DWORD,wParam:DWORD,lParam:DWORD

LOCAL msgType:DWORD
LOCAL msgwPar:DWORD

.if sdword ptr nCode < 0
invoke CallNextHookEx,hHook,nCode,wParam,lParam
ret
.endif
mov edx,lParam
assume edx:ptr MSG
push edx
m2m msgType,[edx].message ; макрос - push [edx].message
;pop msgType
m2m msgwPar,[edx].wParam

.if msgwPar == VK_CONTROL
.if msgType == WM_KEYDOWN|msgType == WM_SYSKEYDOWN
mov control_pressed,1
jmp msg_OK
.elseif msgType == WM_KEYUP|msgType == WM_SYSKEYUP
mov control_pressed,0
jmp msg_OK
.endif
.endif

.if control_pressed == 1
.if msgType == WM_RBUTTONDOWN|msgType == WM_NCRBUTTONDOWN
invoke PostMessage,hWnd,WM_MOUSEHOOK,wParam,lParam
pop edx
mov [edx].message,WM_ACTIVATE
xor eax,eax
mov ax,WA_INACTIVE
mov [edx].wParam,eax
mov [edx].lParam,NULL
return 0
.elseif msgType == WM_RBUTTONUP|msgType == WM_NCRBUTTONUP
mov control_pressed,0
pop edx
mov [edx].message,WM_ACTIVATE
xor eax,eax
mov ax,WA_INACTIVE
mov [edx].wParam,eax
mov [edx].lParam,NULL
return 0
.endif
.endif

msg_OK:
invoke CallNextHookEx,hHook,nCode,wParam,lParam
assume edx:nothing
xor eax,eax
ret
GetMsgProc endp
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach