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

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

Мышиная охота [D6, Win95/98, Win2k, WinXP]


Axis_of_Evil ©   (2002-10-03 16:08:00) 

Я может дундук, но, Мастера, помогите, опишите, как на WinAPI
отловить Click по рабочему столу, если форма НЕактивна.

Пробовал SetWindowsHookEx (как-то так она называется) для
клавиатуры

////////////////////////////////////////////////////////////////
unit MainUnit;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TMainForm = class(TForm)
KeyList: TListBox;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
MainForm: TMainForm;

HookHandle: hHook;

function Key_Hook(Code: integer; wParam: word; lParam: Longint): Longint;

implementation

{$R *.dfm}



procedure TMainForm.FormCreate(Sender: TObject);
begin
HookHandle := SetWindowsHookEx(wh_Keyboard, @Key_Hook, hInstance, 0);
end;



function Key_Hook(Code: integer; wParam: word; lParam: Longint): Longint;
var
H: hwnd;
begin

if ((Code > 0) and (wParam = VK_LEFT)) then
begin
MainForm.Height := MainForm.Height + 2;
MainForm.Width := MainForm.Width + 2;
end;

MainForm.KeyList.Items.Add(IntToStr(wParam))

end;
end.
////////////////////////////////////////////////////////////////

Что неправильно?


Best Before 2024   (2002-10-03 16:27:00) [1]

2 Song © (03.10.02 16:13)
>>Дак Вы хотите отловить клик мыши, а ловите клаву.. Как же так?
Дык, МЫШКОЙ по клавиатуре!


k   (2002-10-03 16:23:00) [2]

прежде всего неправильно то, что ф-ция Key_Hook должна сидеть в длл
см. статью о хуках на этом сайте


Song   (2002-10-03 16:13:00) [3]

Дак Вы хотите отловить клик мыши, а ловите клаву.. Как же так?


Наверх

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