[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)
ВОЗМОЖНО это то что мне надо, надо выяснить.
то ловятся только те сообщения, которые посланы через главное меню->
вставить и комбинацию клавишь 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 Статус: Незарегистрированный пользователь
[c++] я спрашиваю не как установить ловушку физически, а какой фильтр в ловушке использовать, чтобы отловить все wm_paste в системе31.05.01 20:53 Автор: Vital Статус: Незарегистрированный пользователь
[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