- Код: Выделить всё
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs,windows,
StdCtrls;
const
MyHotKey = ord(' ');
type
TWMHotKey = packed record
Msg: Cardinal;
HotKey: Longint;
Unused: Longint;
Result: Longint;
end;
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
procedure FormCreate(Sender: TObject);
private
{ private declarations }
procedure wmhotkey(var msg:twmhotkey); message wm_hotkey;
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{ TForm1 }
procedure tform1.wmhotkey(var msg:twmhotkey);
begin
showmessage('hotkepressed!!!!');
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
//if windows.OpenClipboard(form1.Handle) then showmessage('yo');
end;
procedure TForm1.Button1Click(Sender: TObject);
var i:UINT;
begin
RegisterHotKey(Form1.Handle, MyHotKey, 0, MyHotKey);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;
procedure TForm1.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
UnRegisterHotKey(Form1.Handle, MyHotKey);
end;
initialization
{$I unit1.lrs}
end.
Этот код в виндовсе регистрирует о не вызывается событие в винсе вообще ничего не работает... потскажите альтернативу или может я чегото не так делаю...