Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
loginz

одинаковые коды в SetWindowsHookEx

20.04.2010, 10:09. Показов 836. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Не нашел в форумах ответ, поэтому создаю тему!
при вызове функции SetWindowsHookEx: функция-обработчик KeyboardProc содержит одни и те же коды нажатых клавиш. (в файле "key.log" одна и таже повторяющаяся битовая последовательность для разных нажатий, см. ниже)

Почему? Что не так в коде? подскажите пожалуйста.
Система vista 64. Borland 2009
================================
код dll:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <windows.h>
#include <fstream.h>
#pragma argsused
 
 struct keys{
 int code;
 WPARAM wParam;
 LPARAM lParam;};
 
keys sym;
int count=0;
 
extern "C" __declspec(dllexport) LPARAM CALLBACK KeyboardProc(  int code, WPARAM wParam, LPARAM lParam)
{
 if (wParam == WM_KEYDOWN)  {
 
     sym.code = code;
     sym.wParam = wParam;
     sym.lParam = lParam;
 
     ofstream out("key.log", ios::app);
 
     if (out == 0) { MessageBoxA(0, "Error open file", "Error open file", 0); }
 
     out.write((char *)&sym, sizeof(keys));
     out.close();
 }
 
 return CallNextHookEx(0, code, wParam, lParam);
}
======================================== ====

фрагмент кода программы (при нажатии Button1 устанавливаем хук):

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 
 static HHOOK hhook;
 static HINSTANCE hlib = LoadLibrary((LPCTSTR) "..\\..\\..\\dll\\debug\\Project1.dll");
 
 if (!hlib) {   MessageBox(0, "Error", "ErrorLoad dll", 0);   }
 
 static HOOKPROC mykey = (HOOKPROC)GetProcAddress(hlib, "KeyboardProc");
 
 if (!mykey) {  MessageBox(0, "Error", "ErrorLoad function", 0);  }
 
 hhook = SetWindowsHookEx(WH_KEYBOARD_LL, mykey, hlib, NULL);
 
 Form1->SpinEdit1->Value = (LPARAM)hhook;
 
 if ( !hhook ) {
    MessageBox(0, "Error", "ErrorLoad hook", 0);
 
 }
 
}
==================================
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.04.2010, 10:09
Ответы с готовыми решениями:

Одинаковые коды клавиш-стрелочек
Есть задача написать меню . В консольном приложении. Состоит из 6ти пунктов(строчек) Выбор строчи с помощью клавиш вверх вниз ,...

Почему одинаковые коды работают по разному?
Всем привет! У меня довольно необычная проблема. Суть её в том, что я написал программу по аналогии с чужой программой. Однако несмотря...

C#: WP8: как объединить одинаковые коды?
Здравствуйте. у меня есть 4 одинаковых функций, для четырех разных Image(&quot;Tap&quot;-event). как их объединить в одну функцию? я еще не умею...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.04.2010, 10:09
Помогаю со студенческими работами здесь

Могут ли быть одинаковые хэш-коды у двух разных элементов QSet?
Добрый день. Подскажите, пожалуйста. Могут ли быть одинаковые хэш-коды у двух разных элементов QSet? И как обстоит дело в STL Set?

Определить, какая клавиша была нажата Tab или Ctrl-I, при условии, что они имеют одинаковые ASCII-коды
Народ, помогите кто знает, плиз! Нужно определить какая клавиша была нажата Tab или Ctrl-I, при условии, что они имеют одинаковые...

Сервисные коды S5230 все коды работают сам проверял
все коды работают сам проверял *#197328640# - Debug Screen Version Information RF Test Base Band Audio Common *2767*3855#...

Дан массив S(50).Вывести те символы (и их коды), коды которых кратны 5 и определить их количество.
Дан массив S(50).Вывести те символы (и их коды), коды которых кратны 5 и определить их количество.

Ввести коды ASCII N символов. Выбрать из них и вывести только коды цифр
Нужна помощь с заданием: Ввести коды ASCII N символов. Выбрать из них и вывести только коды цифр. Прошу, если не сложно, написать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru