![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| TeeT |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 9.12.2005 Где: Нальчик Репутация: нет Всего: нет |
.....
struct S_SAVE_EVENTMSG { S_SAVE_EVENTMSG() { memset(this,0,sizeof(S_SAVE_EVENTMSG)); } UINT message; UINT paramL; UINT paramH; DWORD time; }; main() { S_SAVE_EVENTMSG *p = new S_SAVE_EVENTMSG[sizeof(S_SAVE_EVENTMSG)]; FILE* in = fopen("data.$$$", "r"); fread( p, sizeof(S_SAVE_EVENTMSG), 1, in); if(!p) perror("AAA!!"); // TCHAR szKeyName[20]; // LPTSTR szKeyName; char *szKeyName = new char[20]; WORD wLo = LOWORD( p->paramL ); BYTE bLo = LOBYTE( wLo ); int res = GetKeyNameText(bLo, szKeyName, 19); printf("%s", szKeyName); delete szKeyName; delete p; fclose(in); } |
|||
|
||||
| TeeT |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 9.12.2005 Где: Нальчик Репутация: нет Всего: нет |
Она до сих пор не работает !-)
|
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 13 Всего: 98 |
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
здесь есть некоторые ошибки, скорее даже недочеты, но они не влияют на вызов GetKeyNameText. Попробуй посмотреть на содержимое p сразу после чтения, может быть там ничего нет, мусор?
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
| TeeT |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 9.12.2005 Где: Нальчик Репутация: нет Всего: нет |
Дело в том, что суда:
я ставлю так:
то есть константу, а res все равно ничего не дает ;( какая кодировка используется? может мне надо к моим значениям прибавлять что нибудь? p.s. иногда, при подстановке очередной константы она выдает название, но закономерности я не понял |
||||
|
|||||
| Damarus |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 671 Регистрация: 6.5.2006 Репутация: 4 Всего: 29 |
TeeT, тебе стоит изучить описание GetKeyNameText
|
||||
|
|||||
| TeeT |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 9.12.2005 Где: Нальчик Репутация: нет Всего: нет |
Damarus у меня тоже есть Хэлп по API, но то что там пишут не всегда до конца - все равно остаётся какой нибудь нюанс.
К сведенью: констаны которые я подставляю я брал функцией SetWindowsHook, то есть кодировка и формат в принципе должжны быть понятны. В HEX редакторе буквы довольно понятны |
|||
|
||||
| Damarus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 671 Регистрация: 6.5.2006 Репутация: 4 Всего: 29 |
TeeT, ты плохо читал Хэлп. Тамже ясно написано - за кнопку отвечают биты 16-24 параметра lParam. Учитывая это, непонятно, почему ты передаёш GetKeyNameText в первом параметре байт.
Неявно преобразовавшись в LONG этот байт станет младшим байтом LONG. Однако в Хэлпе написано, что младшие два байта функцией не рассматриваются. А вообще, обьясни подробней, что ты хочеш сделать и что есть S_SAVE_EVENTMSG. |
|||
|
||||
| TeeT |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 9.12.2005 Где: Нальчик Репутация: нет Всего: нет |
||||
|
||||
| Damarus |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 671 Регистрация: 6.5.2006 Репутация: 4 Всего: 29 |
И описание там есть
Странный подход |
||||
|
|||||
| TeeT |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 9.12.2005 Где: Нальчик Репутация: нет Всего: нет |
Да вроде бы все понятно!-) какая строчка интерисует? могу поподробнее
есть предложения P.S. программа написана на Си |
|||
|
||||
| Damarus |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 671 Регистрация: 6.5.2006 Репутация: 4 Всего: 29 |
Что должно содержаться в членах структуры? Как записываеться data.$$$?
Есть вопросы. Что за программа в первом посте? На клавиатурного шпиона она не тянет
Я уж думал на VB |
||||||
|
|||||||
| TeeT |
|
||||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 9.12.2005 Где: Нальчик Репутация: нет Всего: нет |
Мне надо было всю прогу выкладывать, или проблему?? какая разница что делает первая прога? задача стоит в том что Не работает GetKeyNameText!!!! помоему я так спросил в начале |
||||||||
|
|||||||||
| Damarus |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 671 Регистрация: 6.5.2006 Репутация: 4 Всего: 29 |
Вообщем в первой программе пиши так:
PS. CallNextHookEx можно вызывать так:
|
||||||
|
|||||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |