![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#21 |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
![]()
stdio.
Начните с самого начала. У Вас Visual Studio 2010. Создайте проект консольного приложения win32 (не CLR!) В свойствах проекта раскройте ветку "Свойства конфигурации\Общие" В поле "Набор символов" вместо "использовать набор символов юникода" поставьте "не задано". По коду. Я ведь четко указал, что в lparam передается указатель на структуру KBDLLHOOKSTRUCT. Одно из полей этой структуры передает скан-код клавиши. Зачем же искать его в wparam, который передает идентификатор одного из четырех сообщений: WM_KEYDOWN, WM_KEYUP, WM_SYSKEYDOWN, WM_SYSKEYUP. P/S/ Вам останется только перевести скан-код в виртуальный код с учетом текущей раскладки клавы. Последний раз редактировалось EUGY; 27.02.2012 в 18:38. |
![]() |
![]() |
![]() |
#22 |
Форумчанин
Регистрация: 14.02.2012
Сообщений: 105
|
![]() Код:
|
![]() |
![]() |
![]() |
#23 |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
![]()
надо бы поискать )
|
![]() |
![]() |
![]() |
#24 |
Форумчанин
Регистрация: 14.02.2012
Сообщений: 105
|
![]()
нашёл))) только после нажатия Ctrl+F5 появилось
значит исходит от сюда? Код:
From Stilet: Какого японца код выкладываешь не по правилам?! Учти за это карают! Оформляй код тегом по кнопке # в редакторе Последний раз редактировалось Stilet; 27.02.2012 в 20:13. |
![]() |
![]() |
![]() |
#25 |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
![]()
Да исходи отсюда.
#define _WIN32_WINNT 0x0501 можно убрать. Это определение уже есть. Окно консоли не нужно? Вместо того, чтоб его скрывать, смени подсистему: Ветка "Свойства конфигурации\Компоновщик\Система" В поле "подсистема" поставь "Windows (/SUBSYSTEM:WINDOWS)" И тогда функция входа будет не _tmain, а Код:
|
![]() |
![]() |
![]() |
#26 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#27 |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
![]()
//UnhookWindowsHookEx(hhook);
Никто, ведь это кейлогер ). while (GetMessage(0,0,0,0)); // вечный цикл |
![]() |
![]() |
![]() |
#28 |
Форумчанин
Регистрация: 14.02.2012
Сообщений: 105
|
![]()
Сильная тема))) в процессах видно зато в приложениях нет...
здесь я так понял надо обработать какие та сообщения? сообщений вызывающего потока Код:
|
![]() |
![]() |
![]() |
#29 |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
![]()
Если бы приложение создавало окна, то да. А так это просто "затычка", чтобы программа не завершилась.
Поток в этой программе один. В этом можно убедится, проверив идентификатор потока DWORD trdId = GetCurrentThreadId(); Он одинаковый, как в WinMain так и в LowLevelKeyboardProc. |
![]() |
![]() |
![]() |
#30 |
Форумчанин
Регистрация: 14.02.2012
Сообщений: 105
|
![]()
даже в выводе есть признаки жизни
Код:
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перевод формул на язык програмирования (Pascal) | spinogryz_ua | Помощь студентам | 7 | 16.01.2012 17:51 |
язык ассемблера | nastya_m | Помощь студентам | 5 | 07.12.2011 13:15 |
Перевод программы на русский язык. | shivo | Фриланс | 1 | 05.01.2011 15:20 |
помогите с написанием бат файла | Aivar | Помощь студентам | 2 | 24.09.2008 22:58 |