![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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]Никто не поможет?