Форум программистов, компьютерный форум CyberForum.ru

одинаковые коды в SetWindowsHookEx - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ перестановки в С++ http://www.cyberforum.ru/cpp-beginners/thread119396.html
Поменять местами элементы с четными и нечетными номерами
C++ Вставить новый столбец после столбца матрицы, в котором нет ни одного отрицательного элемента Ребят помогите. в двумерном массиве надо вставить новый столбец после столбца, в котором нет ни одного отрицательного элемента. мне бы кодик вот этой самой операции а дальш я сама. http://www.cyberforum.ru/cpp-beginners/thread119370.html
C++ Поиск в массиве минимального элемента
Ребят помогите. дан массив n*n. нужно найти в каждом столбце минимальный элемент и записать данные в новый массив. подтолкните на путь истинный по таким вопросам : 1 - как найти мин. элемент в стобце (я примерно представляю но боюсь напотрачить) 2 - ну и соответственно как их записать в новый массив.
C++ Вывести на экран номера всех минимальных элементов одномерного массива.
Ребят помогите. Дана последовательность из n дейтсвительных чисел. использовать одномерный массив. нужно вывести на экран номера всех минимальных элементов. То есть как всех? Разве в последовательности может быть несколько минимальных элементов? подскажите как это сделать.
C++ работа с текстовыми файлами, не получается http://www.cyberforum.ru/cpp-beginners/thread119354.html
Почему не удаляет последние 3 строчки в программе? Помогите плз кому не тяжело... Вот мой код #include "stdafx.h" #include <iostream> #include <windows.h> #include <iomanip> #include <stdio.h> #include <string.h>
C++ Заменить третий положительный элемент массива на максимальный Здравствуйте подскажите как заменить третий позитивный элемент массива на максимальный #include <vcl.h> #pragma hdrstop #pragma argsused #include <iostream.h> #include <math.h> #include <conio.h> int main(int argc, char* argv) { подробнее

Показать сообщение отдельно
loginz
Сообщений: n/a

одинаковые коды в SetWindowsHookEx - C++

20.04.2010, 10:09. Просмотров 553. Ответов 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);
 
 }
 
}
==================================
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru