![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
я создал хоткей:
Код:
unit Unit22;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
Tfunk = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
CheckBox1: TCheckBox;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
hotkey1: Integer;
procedure WMHotKey(var Msg : TWMHotKey); message WM_HOTKEY; //хоткей нарки
public
{ Public declarations }
end;
var
funk: Tfunk;
implementation
{$R *.dfm}
procedure Tfunk.FormCreate(Sender: TObject);
const MOD_CONTROL = 2;
VK_F2 = 113; //нарка
begin
hotkey1 := GlobalAddAtom('Hotkey1'); //нарка
RegisterHotKey(handle, hotkey1, 0, VK_F2); //нарка
end;
procedure Tfunk.FormDestroy(Sender: TObject);
begin
UnRegisterHotKey(handle, hotkey1); //нарка
end;
procedure Tfunk.WMHotKey (var Msg : TWMHotKey);
begin
if msg.HotKey = hotkey1 then keybd_event(50,0,0,0); //нарка
if msg.HotKey = hotkey1 then keybd_event(51,0,0,0); //нарка
if msg.HotKey = hotkey1 then keybd_event(52,0,0,0); //нарка
if msg.HotKey = hotkey1 then keybd_event(50,0,keyeventf_keyup,0 ); //нарка
if msg.HotKey = hotkey1 then keybd_event(51,0,keyeventf_keyup,0 ); //нарка
if msg.HotKey = hotkey1 then keybd_event(52,0,keyeventf_keyup,0 ); //нарка
end;
end.
но как мне в чек-боксе сделать так, чтобы он мог отключатся т.е. чтобы хоткей неработал ![]() |
|
#2
|
||||
|
||||
|
Цитата:
Рассмешил!!! Зачем вторую тему создал, если вопрос звучал и в предидущей? Если занялся программированием, то хоть чуть-чуть включай мозги.Цитата:
|
|
#3
|
||||
|
||||
|
Что мешало написать это самому?
Код:
var
HotKey : HATOM;
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if CheckBox1.Checked then
begin
HotKey := GlobalAddAtom('Hotkey1'); //нарка
RegisterHotKey(Handle, HotKey, 0, VK_F2); //нарка
end
else
begin
UnRegisterHotKey(Handle, HotKey);
GlobalDeleteAtom(HotKey);
end;
end;
procedure Tfunk.WMHotKey (var Msg : TWMHotKey);
begin
if msg.HotKey = HotKey then keybd_event(50, 0, 0, 0); //нарка
if msg.HotKey = HotKey then keybd_event(51, 0, 0, 0); //нарка
if msg.HotKey = HotKey then keybd_event(52, 0, 0, 0); //нарка
if msg.HotKey = HotKey then keybd_event(50, 0, keyeventf_keyup, 0); //нарка
if msg.HotKey = HotKey then keybd_event(51, 0, keyeventf_keyup, 0); //нарка
if msg.HotKey = HotKey then keybd_event(52, 0, keyeventf_keyup, 0); //нарка
end;
|
|
#4
|
|||
|
|||
|
Цитата:
[Error] Unit22.pas(28): Undeclared identifier: 'HATOM' |