![]() |
|
|
#1
|
|||
|
|||
|
Здравствуйте!скажите пожалуйста,хочу написать программку что бы запрещала ставить хуки.Например если в системе пытается установится хук на перехват клавишь!то надо как то не дать установится хуку на перехват клавишь.
Вот знаю что с помощью вот этой функции можно сделать антихуки: function DebugProc(Code: integer; WParam: WPARAM; LParam: LPARAM): Longint; stdcall Вот код написал но что то он не работает. Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
const WH_DEBUG = 9;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
hook:hhook;
implementation
function DebugProc(Code: integer; WParam: WPARAM; LParam: LPARAM): Longint; stdcall
begin
code := 0;
end;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
if hook <> 0 then
hook:=SetWindowsHookEx(wh_debug,@DebugProc,HINSTANCE,0);
end;
end. |
|
#2
|
||||
|
||||
|
МСДН читал?
|
|
#3
|
||||
|
||||
|
Ловушка с флагом WH_DEBUG выполняется в очереди (цепочке) хуков самой первой, если что-то сделать в ней (напр. как в данном случае - code := 0; т.е. выдаётся запрет на выполнение последующих ловушек) работать они не будут, что ни есть хорошо, есть большое колво "хороших" прог которые просто перестанут работать правильно, если не ошибаюсь, даже трейный переключатель раскладки вешает свои хуки, раскладка переключаться в таком случае не будет. Если это нужно для обеспечения безопасности при вводе секретных данных, то лучше использовать виртуальную клавиатуру, толку и пользы от этого будет больше, поскольку "снимать" инфу с клавы можно не только хуками, но ещё и опросом состояния клавиш, либо подключением своего драйвера к ядру или прямым обращением к API, а это отследить значительно труднее. Зачем портить систему?
|
| Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
Bomj (16.10.2013)
| ||
|
#4
|
|||
|
|||
|
Знаю что есть хорошие программы!но охота своё писать))
|
|
#5
|
||||
|
||||
|
Цитата:
![]() |