Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

HookMenu


DjOne ©   (2004-06-16 20:30:00) 

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

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.

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


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

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


Nick Denry   (2004-06-18 16:48:00) [2]

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

Имеет.


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

К счастью.

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

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


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


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


Имеет.


> Winxp


Не меню.


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


К счастью.


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

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

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

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


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

Nick Denry ©   (17.06.04 23:46)


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


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


Nick Denry   (2004-06-17 23:46:00) [6]

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

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


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


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


Не хочет.


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


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


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо