Сделал такую штуковину (если что одарил штуковину коментами)
| Код | unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, jpeg, ExtCtrls;
type TForm1 = class(TForm) Image1: TImage; procedure FormCreate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure Image1Click(Sender: TObject); private procedure WMHotKey(var Msg: TWMHotKey); message WM_HOTKEY; { Private declarations } public { Public declarations } end;
var Form1: TForm1;
//воть наш хоткей const HK1 = VK_F1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject); begin
//регистрирую RegisterHotKey(Form1.Handle, HK1, 0, HK1);
//убираю заголовок формы setWindowLong (handle,GWL_STYLE,getWindowLong(handle, GWL_STYLE) and not WS_CAPTION); width:=width+1; width:=width-1; end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin UnRegisterHotKey(Form1.Handle, HK1); end;
Procedure TForm1.WMHotkey( Var msg: TWMHotkey ); Begin // при нажатии F1 Жмет w+space keybd_event(Ord('W'), MapVirtualKey(Ord('W'), 0), 0, 0); keybd_event(VK_SPACE, MapVirtualKey(VK_SPACE, 0), 0, 0); keybd_event(VK_SPACE, MapVirtualKey(VK_SPACE, 0), KEYEVENTF_KEYUP, 0); keybd_event(Ord('W'), MapVirtualKey(Ord('W'), 0), KEYEVENTF_KEYUP, 0); End;
procedure TForm1.Image1Click(Sender: TObject); begin //на фоне картинка. При нажатии минимизация application.Minimize; end;
end.
|
Так воть, как добавить другие хоткеи, чтоб было несколько. А то если даже и добавлю то даже при нажатии Ф3, Ф4 и т.д. Всеравно w+пробел. Думал проверять | Код | WMHotkey( Var msg: TWMHotkey ); |
.... думал проверять msg на "является ли она Ф1 или Ф2 и т.д." но это тип кардинал, хз как обозначить хоткей через кардинал...
Короче помогите, кто может всуньте туда еще пару хоткеев, те же Ф2 и Ф3 а я по аналогии дальше. Спс заранее
Добавлено через 10 минут и 20 секунд Спс разобрался
| Код | if msg.HotKey=112 then begin |
|