|
|
|
|
#1 |
|
Боец
|
Никак. Опять же, это внутренняя ф-я, и не понятно, какие категории сообщений она перехватывает. Помню, очень долго с ней игрался в рамках создания FormDigger'a Полноценный переватчик лучше оформить в виде ActiveX - получите полный контроль и читабельный код - но регистрация DLL Если без регистрации DLL - то придется программить на ASM на X++ для заворачивания процедуры обработки сообщений на себя, что жуть как криво и unsupportable.
|
|
|
|
|
#2 |
|
Модератор
|
Цитата:
Там в инфо выводится инфа, какому окну посылаем сообщение и, если ловит, то его дескриптор.Цитата:
1. installMessageProc не раегирует на SendMessage - только на PostMessage 2. Некоторые оповещения (клавиша, фокус, клипбоард) - проходят. А мышь, WM_COPYDATA и некоторые другие - "съедаются" ядром и игнорируются. Что проходит, а что нет - непонятно, описаний нет, только опытным путем. 3. Как видно, съедаются некоторые события, которые можно перекрыть. 4. И наоборот, некоторые события, которые посылаешь "Send/PostMessage" - ловятся, а вот контролы на них не реагируют, хотя, по логике построения мультиоконных интерфейсов, должны. Цитата:
Цитата:
![]() Хотя, помниться, Alex_KD, кажется, когда-то писал что-то подобное. С Уважением, Георгий |
|
|
|
|
#3 |
|
Administrator
|
Если ты имеешь в виду AxAssist - то эта тулза с регистрацией DLL
__________________
Возможно сделать все. Вопрос времени |
|
|
|
|
#4 |
|
Участник
|
Цитата:
Сообщение от George Nordic
1. installMessageProc не раегирует на SendMessage - только на PostMessage
2. Некоторые оповещения (клавиша, фокус, клипбоард) - проходят. А мышь, WM_COPYDATA и некоторые другие - "съедаются" ядром и игнорируются. Что проходит, а что нет - непонятно, описаний нет, только опытным путем. Другими словами WM_COPYDATA можно отослать только через SendMessage, который installMessageProc игнорирует. OLE компонент изменить есть возможность? Аксапта отлично реагирует на WM_USER+X сообщения. Так же WM_COMMAND можно попробовать использовать. Еще некоторые сообщения требуют указатель в параметре lParam вместо int. При отсылки таких сообщение через X++: WinApi::postMessage()/WinApi::sendMessage() ЗЫ AxAssist работает в одном треде с Аксаптой и слушает все сообщения до Аксапта, поэтому та м проще что-либо перехватить и обработать.
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0 |
|
|
|
|
| Опции темы | Поиск в этой теме |
| Опции просмотра | |
|