Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.14;
Скачать: [xml.tar.bz2];




Вниз

Как отловить хэндл меню при его активации в 


- Andrew -   (2002-01-15 14:40) [0]

Вся проблема в том, что при активации меню чужого приложения, отлавливается число, по виду очень похожее на хэндл, но не хэндл меню. Более того, оно постоянно для приложения (под W2k для IE оно будет 448732, проверялось на трех машинах с w2kpro).
Может кто подскажет, в чем моя ошибка?
Делаю так:
Ставлю хук в DLL
function msgfilter_HookProc(nCode: Integer; WPARAM: wParam; LPARAM: lParam): LResult; stdcall;
begin
if nCode = MSGF_MENU then
begin
if rHookRec^.MainWindow <> 0 then
SendMessage(rHookRec^.MainWindow, MSGF_MENU, WPARAM, LPARAM);
end;
result := CallNextHookEx(rHookRec^.HookID, nCode, wParam, lParam);
end;
-------------
procedure SetHook;
begin
rHookRec^.HookID := SetWindowsHookEx(WH_MSGFILTER, @msgfilter_HookProc, hInstance, 0);
end;
-------------
В приложении пишу обработчик посылаемого сообщения
procedure TForm1.WMMENU(var Message: TMessage);
begin
Edit1.Text := IntToStr(Message.LParam);
end;
end;



- Andrew -   (2002-01-15 19:42) [1]

Все! Разобрался. Проблема снята.




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.14;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.71 MB
Время: 0.03 c
1-43017           URSUS                 2002-02-27 06:48  2002.03.14  
Помогите пожалуйста c компонентом QuickReport !


1-43066           Seven                 2002-02-26 12:56  2002.03.14  
RX компоненты


3-42914           Максимка              2002-02-10 20:17  2002.03.14  
Как из DLL использовать OracleSession вызывающей программы?


3-42915           DmitryPV              2002-02-14 10:28  2002.03.14  
Не удается модифицировать поле!


3-42925           Termik                2002-02-14 14:07  2002.03.14  
Создание алиаса ODBC БД SQL Server из Delphi.