Показать сообщение отдельно
  #1  
Старый 21.03.2012, 16:34
Spawn.Ivan Spawn.Ivan вне форума
Прохожий
 
Регистрация: 21.03.2012
Сообщения: 4
Репутация: 10
По умолчанию Ловля боковых кнопок Мыши по всему экрану

Здравствуйте. Когда бродил по просторам интернета я нашел вот это:
Цитата:

Цитата:
type
TForm1 = class(TForm)
procedure WMXButtonDown( var Message: TWMMouse); message WM_XBUTTONDOWN;


const
{$ifdef COMPILER_13_UP} // WM_XBUTTON* уже объявлены в D2010
WM_XBUTTONDOWN = $020B; // сообщение о нажатии X button
WM_XBUTTONUP = $020C; // сообщение об отпускании X button
{$endif}
MK_XBUTTON1 = $20; // идентификатор клавиши "назад" в LoWord(WParam)
MK_XBUTTON2 = $40; // идентификатор клавиши "вперёд" в LoWord(WParam)
XBUTTON1 = $1; // код клавиши "назад" в HiWord(WParam)
XBUTTON2 = $2; // код клавиши "вперёд" в HiWord(WParam)

...

// Боковые кнопки---------------------------------------------------------------------
procedure TForm1.WMXButtonDown(var Message: TWMMouse);
var Msg: PEVENTMSG;
begin
// удостоверяемся, что нажата Х кнопка
if Message.Keys and (MK_XBUTTON1 or MK_XBUTTON2) <> 0 then
begin
// определяем, какая именно Х кнопка нажата и действуем соответственно
case HiWord(Message.Keys) of
XBUTTON1 : Form1.Memo1.Lines.Add('Back');
XBUTTON2 : Form1.Memo1.Lines.Add('Fwd');
else ShowMessage('Err');
end;


end;


end;
//------------------------------------------------------------------------------


Он позволяет определить что была нажата одна из X кнопок мыши.
Подскажите пожалуйста как его заставить работать в любом чужом окне и по всему рабочему пространству.

При определении 1,2,3-й кнопок я разобрался как. Но тут не получается... Помогите =)
Ответить с цитированием