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





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
[c++] я спрашиваю не как установить ловушку физически, а какой фильтр в ловушке использовать, чтобы отловить все wm_paste в системе 01.06.01 19:06  Число просмотров: 1035
Автор: kabanchik Статус: Незарегистрированный пользователь
<"чистая" ссылка>
все верно делаешь, только для меню и прочей фигни, тебе не WM_PASTE ловить надо, а WM_COMMAND
я только вспомнил это. в свое время делал такую фигню.
короче все что идет от меню - это WM_COMMAND
так что тут у тебя должны стоять несколько ловушек. надеюсь это будет более понятно :))))

if (message == WM_PASTE)
определенно это то что мне надо.
else if (message == WM_COMMAND)
ВОЗМОЖНО это то что мне надо, надо выяснить.

Удачи
<programming>
[c++] как же все таки перехватить wm_paste в системе? 31.05.01 16:42  
Автор: Vital Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Как поставить ловушку(Hook) на все сообщения WM_PASTE?
Если я ставлю фильтр WH_GETMESSAGE и в функции ловушки пишу:

LRESULT CALLBACK GetMsgProc(int nCode, WPARAM wParam, LPARAM lParam)
{
if (nCode < 0) return CallNextHookEx(hhkMes, nCode, wParam, lParam);
if (nCode == HC_ACTION)
{
LPMSG lpMsg;
lpMsg = (MSG*)lParam;
if (lpMsg->message == WM_PASTE)
{
MessageBeep(1);
}
}
CallNextHookEx(hhkMes, nCode, wParam, lParam);
return 0;
}

то ловятся только те сообщения, которые посланы через главное меню->
вставить и комбинацию клавишь Ctrl+v, а через контекстное меню->
вставить не ловятся.

Фильтры WH_MSGFILTER, WH_SYSMSGFILTER улавливают только обращения к меню, а WM_PASTE не возвращают.

Нужно чтобы работало под Win9x\NT\2000.

Спасибо Vital.
[c++] как же все таки перехватить wm_paste в системе? 01.06.01 14:27  
Автор: prop Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Проверь Spy++ куда идут сообщения, когда ты не можешь их поймать. По-идее, WH_GETMESSAGE должен ловить все сообщения из очереди окна. Если не поможе, то остается только сабклассировать процедуру окна - тогда мимо тебя не проскочит ни одно сообщение.
Попробуй вместо wh_getmessage использовать wh_callwndproc, может, поможет.. 01.06.01 11:40  
Автор: WiB Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Все верно, только надо еще установить твою ловушку. Используй SetWindowsHookEx 31.05.01 19:16  
Автор: WiB Статус: Незарегистрированный пользователь
<"чистая" ссылка>
[c++] я спрашиваю не как установить ловушку физически, а какой фильтр в ловушке использовать, чтобы отловить все wm_paste в системе 31.05.01 20:53  
Автор: Vital Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Неужели никто c этим не сталкивался?
[c++] я спрашиваю не как установить ловушку физически, а какой фильтр в ловушке использовать, чтобы отловить все wm_paste в системе 01.06.01 19:06  
Автор: kabanchik Статус: Незарегистрированный пользователь
<"чистая" ссылка>
все верно делаешь, только для меню и прочей фигни, тебе не WM_PASTE ловить надо, а WM_COMMAND
я только вспомнил это. в свое время делал такую фигню.
короче все что идет от меню - это WM_COMMAND
так что тут у тебя должны стоять несколько ловушек. надеюсь это будет более понятно :))))

if (message == WM_PASTE)
определенно это то что мне надо.
else if (message == WM_COMMAND)
ВОЗМОЖНО это то что мне надо, надо выяснить.

Удачи
type of hook to install будет wh_sysmsgfilter. затем - sysmsgproc(...) где lparam будет указывать to an msg message structure. пробуй. 01.06.01 16:37  
Автор: KMiNT21 <http://blog.kmint21.com> Статус: Member
<"чистая" ссылка>
1




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


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