Форум: "Основная";
Текущий архив: 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