Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];

Вниз

HotKey   Найти похожие ветки 

 
Armen   (2003-06-08 14:38) [2]

Компонентки конечно не найдешь, т.к. это делается по другому.

создаешь dll.
в dll-е:

uses
Windows,
Messages;

var
HookHandle: hHook = 0;

{$R *.res}

function HookProc(Code: integer; wParam: Word; lParam: Longint): Longint; stdcall;
var
PMsg: ^TMsg;
i: integer;
begin
result:= 0;
If Code = HC_ACTION then
begin
PMsg:= Pointer(lParam);
// Disable Hot Keys
if (PMsg^.message = WM_HOTKEY) then
begin
// Disable Win
if (Loword(PMsg^.lParam) = MOD_WIN) then
begin
PMsg^.message:= WM_NULL;
exit;
end;
end;
end else CallNextHookEx(HookHandle, Code, wParam , lParam);
end;

procedure StopHook; export; stdcall;
begin
if HookHandle<>0 then
begin
UnhookWindowsHookEx(HookHandle) ;
HookHandle:= 0;
end;
end;

procedure StartHook; export; stdcall;
begin
LoadConfig;
HookHandle := SetWindowsHookEx(WH_GETMESSAGE, @HookProc , HInstance , 0 ) ;
if HookHandle = 0 then
MessageBox(0, "Unable to set hook!", "Error", mb_Ok)
end;

exports StartHook name "StartHook",
StopHook name "StopHook";

begin
end.

В программе:

procedure StartHook; external "KeyLocker.dll";
procedure StopHook; external "KeyLocker.dll";

procedure TForm1.FormCreate(Sender: TObject);
begin
StartHook;
end;

procedure TForm1.FormDestroy(Sender: TObject)
begin
StopHook;
end;

(Не успел проверить но должен работать)



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.027 c
7-84806
HeWSter
2003-04-19 07:27
2003.06.26
Инфо системы


3-83905
Инна
2003-06-03 11:20
2003.06.26
не редактирует DBEdit


1-84368
kasper
2003-06-16 17:34
2003.06.26
Помогите с выводом на печать!!


1-84092
Вика
2003-06-10 11:50
2003.06.26
Помогите, чтение BMP с измененным заголовком.


14-84753
Начинающий скриптер
2003-06-06 10:06
2003.06.26
Вопрос к автору сайта (и всем, кто знает ответ :)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский