информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Портрет посетителяГде водятся OGRы
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Phrack #70/0x46 
 Возможно, Facebook наступил на... 
 50 лет электронной почте 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[win32] wh_getmessage под win2k... глючит... 14.07.01 04:25  Число просмотров: 660
Автор: 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
<programming> Поиск 
  • [win32] wh_getmessage под win2k... глючит... - MemoBreaker 14.07.01 04:25 [660]








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


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