Cómo conectar funciones API específicas en Delphi
Utilice el lenguaje Delphi para conectar la función API especificada. El método más simple es el siguiente:
1. Descargue el paquete de componentes de código abierto CnVCL del equipo CnPack e instálelo en el. Sistema Delphi:
2. En el paquete del componente CnVCL, se proporciona la unidad CnInProcessAPIHook. Este archivo de unidad proporciona el componente TCnInProcessAPIHook y otras funciones relacionadas, proporcionando la función "implementación en proceso de APIHook":
Las definiciones principales son las siguientes:
3. Ejemplos de escritura de código para implementar funciones API designadas por HOOK:
(1) Primero introduzca el archivo unitario: uses?CnInProcessAPIHook ;
(2) Cree una instancia de TCnInProcessAPIHook y especifique la API que requiere HOOK: procedimiento?TForm1.FormCreate(Sender:?TObject);
begin
FCnAPIHook?:=? TCnInProcessAPIHook.Create(Self);
FCnAPIHook.DllFunction?:=?'MessageBoxA';//¿Requerido?HOOK?API?
FCnAPIHook.DllName?: =?' User32.dll';//El nombre de la biblioteca dinámica a la que pertenece la API
FCnAPIHook.ParamCount?:=?4;
FCnAPIHook.Mutex?:= ?True;
FCnAPIHook.RestoreWhenOnHook?:=?True;
FCnAPIHook.OnAPIHookProc?:=?CnHookAPI1APIHookProc;//Especifique el evento de respuesta
end;
(3) Iniciar código HOOK: procedimiento?TForm1.Button2Click(Sender:?TObject);
comenzar FCnAPIHook.Active?:=?True;
end;
terminar código HOOK: procedimiento?TForm1.Button3Click(Sender:?TObject);
comenzar FCnAPIHook.Active?:=?False;
end ;