![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Насчёт клавиатуры [D6, WinXP]
Anar © (2002-10-16 21:58:00)Как сделать так чтоб даже когда программа была моя неактивна (фокус не имеет) система реагировала на горячие клавиши?
Н-р: ALT+C - в программе - закрытие окна. Если вне программы нажать ALT+C - то ни фига... Можно ли это осуществить???
DDS (2002-10-28 10:53:00) [1]Посмотри на моем сайте
www.DimaS0Page.narod.ru -> FAQ -> Форма, Проект -> Перехват нажатий клавиш
DDS (2002-10-28 10:52:00) [2]Посмотри на моем сайте
www.DimaS.Page.narod.ru -> FAQ -> Форма, Проект -> Перехват нажатий клавиш
han_malign (2002-10-18 13:59:00) [3]Поиск не рабатоет?
Буквально сегодня в рассылке пришло
http://delphi.mastak.ru/cgi-bin/faq.pl?look=1&id=16-988621065
F1 (2002-10-18 13:48:00) [4]Дык если прога не активна, то нужно SetWindowHookEx.
Kotka (2002-10-16 22:35:00) [5]Пример регистрации Enter как горячей клавиши.
Там в параметрах вместо 0 надо вставить состояния кнопок alt, ctrl, shift в []. Мне лень щас смотреть хелп, так что сам посмотришь!
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure WMHotKey(var Msg : TWMHotKey); message WM_HOTKEY;
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
const id_snapshot=101;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
RegisterHotKey(Form1.Handle,id_SnapShot,0,VK_return);
end;
procedure TForm1.WMHotKey (var Msg : TWMHotKey);
begin
if Msg.HotKey = id_SnapShot then
showmessage("Gotit");
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
UnRegisterHotKey (Form1.Handle, id_SnapShot);
end;
end.