Главная страница
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.09 c
14-1089392967
ИМХО
2004-07-09 21:09
2004.08.01
Кто убил президента Кеннеди?


1-1089872424
Amid
2004-07-15 10:20
2004.08.01
Помогите !!!!! В процедуре Execute не работает Memo1.Lines.Add()


4-1087578704
Ник
2004-06-18 21:11
2004.08.01
Пытаюсь скопировать диск на жесткий, не могу.....


14-1090160087
4ainik
2004-07-18 18:14
2004.08.01
dcu


1-1090240503
Комбинатор
2004-07-19 16:35
2004.08.01
Можно ли заблокировать ShowMessage.