![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| Dmitry_177 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 22.9.2006 Репутация: нет Всего: нет |
Будешь удивлен, твои откомпилированне файлы у меня не работают, т.е. запускаю я программу, жму там "Run", везде в разных окнах ввожу символ, потом жму "Stop"... Файл "c:\keylog.txt" создается, но в него ничего не записывается... Странно что у тебя работает..
|
|||
|
||||
| drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: нет Всего: 8 |
-------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
| Dmitry_177 |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 22.9.2006 Репутация: нет Всего: нет |
Сделал я такую реализвцию, dll-ка ловит сообщения клавиатуры и передает их в программу сообщением WM_COPYDATA:
Dll-библиотека:
Программа:
Все работает, клавиатура ловится, все передается в программу, программа записывает в файл, но проблема теперь вот в чем, почему-то если нажимать Shift, то записывается последний символ который был введен до нажатия Shift-а. Т.е. если например в Word-е ввести какое-нибудь слово например "Дмитрий", а потом сразу нажимать несколько раз Shift, то будет так: "Дмитриййййй", символ "й", повторяется столько же раз сколько была нажата клавиша Shift. Почему так? Подскажите пожалуйста... Это сообщение отредактировал(а) Dmitry_177 - 8.10.2006, 00:03 |
||||
|
|||||
| drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: нет Всего: 8 |
переменную очищай -------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
| Dmitry_177 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 22.9.2006 Репутация: нет Всего: нет |
А какую переменную очищать?
|
|||
|
||||
| drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: нет Всего: 8 |
ту в которой содержится символ
при нажатии на шифт ненадо клавишу писать, ввода то по сути нет. -------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
| Dmitry_177 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 22.9.2006 Репутация: нет Всего: нет |
Символ содержится в переменной AData: THookData; (AData.KeyName) которая находится в функции WindowProc, ведь она сама должна убиваться при завершении этой функции, и по идее в ней ничего не должно быть при следующем запуске функции...
|
|||
|
||||
![]()
|
| Правила форума "Delphi: WinAPI и системное программирование" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |