Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #4  
Старый 19.08.2008, 00:14
Drozh Drozh вне форума
Активный
 
Регистрация: 12.06.2008
Сообщения: 313
Репутация: 40
По умолчанию

Ну первое что пришло на ум это ловушка...
Создаешь dll приложение, и пишешь:
Код:
library hook;

uses
  Windows, Messages, SysUtils;

var
  SysHook: HHook = 0;

function SysMsgHook(Code: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT stdcall;
var
 Text: String;
begin
  if (Code = HC_ACTION) and
     (wParam = WM_LBUTTONDOWN) then
  begin
   Text := Format('X: %d, Y: %d', [TMouseHookStruct(Pointer(lParam)^).pt.X,
                                   TMouseHookStruct(Pointer(lParam)^).pt.Y]);
   {
    каким либо образом выводишь эту строку
   }
  end;

 Result := CallNextHookEx(SysHook, Code, wParam, lParam);
end;

procedure RunHook() export; stdcall;
begin
 SysHook := SetWindowsHookEx(WH_MOUSE, @SysMsgHook, HInstance, 0);
end;

procedure StopHook() export; stdcall;
begin
 UnhookWindowsHookEx(SysHook);
end;

exports RunHook index 1;
exports StopHook index 2;

begin
end.

В самой программе поле строчки
Код:
var
  Form1: TForm1;

пишешь
Код:
procedure RunHook() stdcall; external 'hook.dll';
procedure StopHook() stdcall; external 'hook.dll';

Далее активируешь ловушку
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
 RunHook();
end;

И уничтожешь
Код:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 StopHook();
end;

Чесно говорю, сам не тестил, но должно работать
Ответить с цитированием
 


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:35.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025