Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.01;
Скачать: CL | DM;

Вниз

HookMenu   Найти похожие ветки 

 
DjOne   (2004-06-16 20:30) [0]

Ставлю глабальный хук на меню в длл:

library Project1;

uses
Windows,
Messages,
Forms,sysutils;

var
HookHandle: HHOOK = 0;
xwin,xHMENU:HWND;
adr:pchar;
function CallWndProcHook(Code: Integer; WParam: WPARAM; LParam: LPARAM): LRESULT; stdcall;
begin
if Code = HC_ACTION then
begin
  with PCWPStruct(wParam)^ do
    if Message = WM_MENUSELECT then begin
     MessageBox(0, "HOOK1 working !", "Message from Exampel1/Process1", 0);
     end;
end;
Result := CallNextHookEx(HookHandle, Code, WParam, LParam);
end;

procedure RegHook;
begin
HookHandle := SetWindowsHookEx(WH_CALLWNDPROC,
  CallWndProcHook, HInstance, 0);
end;

procedure UnRegHook;
begin
if HookHandle <> 0 then
begin
  UnhookWindowsHookEx(HookHandle);
  HookHandle := 0;
end;
end;

procedure StartWatching(StartWatching: boolean) export; stdcall;
begin
if StartWatching then
  RegHook
else
  UnRegHook;
end;

exports StartWatching;

begin

end.

На всех меню работает, а на меню пуска не хочет! Почему не подскажите.


 
DjOne   (2004-06-17 15:31) [1]

Никто не поможет?


 
Игорь Шевченко ©   (2004-06-17 17:59) [2]


>  а на меню пуска не хочет


Не хочет.


> Почему не подскажите


Наверное, потому что это не меню, а окошко, похожее на меню ?


 
Nick Denry ©   (2004-06-17 23:46) [3]

2>Игорь Шевченко ©   (17.06.04 17:59) [2]

Чего прикалываешься? :)
Знаешь, прекрасно ведь, что пуск - окно класса "ToolbarWindow32"...


 
Игорь Шевченко ©   (2004-06-18 10:49) [4]

Nick Denry ©   (17.06.04 23:46)


> Знаешь, прекрасно ведь, что пуск - окно класса "ToolbarWindow32"...


В какой операционной системе ? Автор не указал, я гадать не хочу


 
DjOne   (2004-06-18 12:41) [5]

В какой ОС? Не имеет Разницы! Winxp

Наверное, потому что это не меню, а окошко, похожее на меню ?

К сожалению МЕНЮ -Это тоже окно!


 
Игорь Шевченко ©   (2004-06-18 12:49) [6]


> В какой ОС? Не имеет Разницы!


Имеет.


> Winxp


Не меню.


> К сожалению МЕНЮ -Это тоже окно!


К счастью.


 
Nick Denry ©   (2004-06-18 16:48) [7]

> В какой ОС? Не имеет Разницы!

Имеет.


Точно имеет, но можно и посмотреть, - какой класс в 98 и т.д.

К счастью.

Действительо к счатью...

P.S.
Шутить ты все-таки умеешь.... :)))


 
Игорь Шевченко ©   (2004-06-18 21:55) [8]

Автору: Посмотри своим хуком, какие сообщения приходят окну, выпадающему по нажатию кнопки "Пуск", в зависимости от этого предпринимай действия. Могу дать совет - классом родительского окна для него являются либо класс SysPager либо MenuSite.



Страницы: 1 вся ветка

Текущий архив: 2004.08.01;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.058 c
4-1087230752
Алексей Петухов
2004-06-14 20:32
2004.08.01
Точка на доп. клавиатуре


1-1089868033
cyborg
2004-07-15 09:07
2004.08.01
Проверка имени файла на недопустимые символы


4-1087750974
Damager
2004-06-20 21:02
2004.08.01
Открыть каталог в проводнике


4-1087572404
Алексей Петухов
2004-06-18 19:26
2004.08.01
установить: разделитель разрядов, дробной части, даты и т.д.


14-1089626083
Piter
2004-07-12 13:54
2004.08.01
А кто на какие сайты постоянно заходит?