С Новым годом! Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 04.12.2013
Сообщений: 25
1

Ловушка для блокнота

13.05.2014, 16:31. Показов 847. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
в общем, проблема такая
программа должна подменивать символы в блокноте(печатаю а напечатается b, b->c, c->d и.т.д)
делал тип хука WH_KEYBOARD

сама функция такая
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
EXPORT LRESULT CALLBACK KeyboardProc(int code, WPARAM wParam, LPARAM lParam)
{
HWND hNotepad = FindWindow(L"Notepad", NULL);
if(hNotepad && (lParam» 31)&1)
{
if((wParam >= 65) &&(wParam <= 89))
++wParam; 
if(wParam == 90)
wParam = 65;
if(wParam == VK_RETURN)
MessageBox(hNotepad, L"hook works!", L"Test", NULL);
}
return CallNextHookEx(NULL, code, wParam, lParam);
}
на нажатие enter срабатывало, другие клавиши не подменяло. посоветовали сделать тип WH_GETMESSAGE, но теперь вообще ни на что не работает даже с функцией GetMsgProc

сказали сделать проверку, что пришло сообщение именно от блокнота, а уже потом менять код по ascii.. как \то сделать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.05.2014, 16:31
Ответы с готовыми решениями:

Ловушка для клавиатуры
Добрый день... Нужно сделать задание вот такого плана: Ловушка на клавиатуру. При последовательном...

"Ловушка" для ошибок не работает должным образом. ООП
Здравствуйте. Работаю над ядром, и столкнулся с такой проблемой когда &quot;ловлю&quot; ошибки в системе: ...

Отправка текста для неактивного окна блокнота
Доброй ночи, уважаемые обитатели форума. Пишу не большую программку, которая при нажатии...

Передать в get запросе имя текстового файла для блокнота на сайт
Доброго времени суток. Вообщем есть php скрипт онлайн блокнота. Который сохраняет текст при вводе,...

3
0 / 0 / 0
Регистрация: 05.12.2012
Сообщений: 14
14.05.2014, 08:35 2
Можно отслеживать нажатие клавиш функцией GetAsyncKeyState, потом функцией PostMessage или SendMessage(лучше этой) посылаешь в окно два сообщения, первое из которых эмулирует нажатие backspace, чтобы стереть напечатанный юзером символ, второе сообщение дает команду на печать нужного тебе символа.
0
68 / 65 / 21
Регистрация: 01.05.2014
Сообщений: 247
15.05.2014, 00:03 3
Приветствую!
Обратите Внимание на следующую Ветку:
Текстовый редактор убрать функции
0
0 / 0 / 0
Регистрация: 04.12.2013
Сообщений: 25
15.05.2014, 01:26  [ТС] 4
в общем сделал без обработки GetAsyncKeyState, стоило всего лишь добавить строку что hNotedad это дочернее окно, и привязать посылку сообщений именно дочернему окну. все заработало
0
15.05.2014, 01:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.05.2014, 01:26
Помогаю со студенческими работами здесь

Сделать из формы подобие блокнота для записей с последующим сохранением
Ура. Нашёл нужную тему https://www.cyberforum.ru/php-beginners/thread686952.html Но, у меня...

Имеется игральный кубик и задача составить ключ для одноразового блокнота
Здравствуйте! Представим, что необходимо составить ключ для одноразового блокнота (шифр Вернама),...

Как установить для Блокнота перенос по строкам по умолчанию при открытии CFG-файлов?
Здравствуйте! Подскажите пожалуйста:) Вот, например, я открываю конфиг игры сonfig.cfg игры в...

Ловушка мыши
Всем привет, собственно пытаюсь написать программу для &quot;ловления&quot; координат курсора, при щелчке на...

Метательная ловушка
Хай! В общем, вчера когда засыпал, думал, во многих мультиках про всяких каратистов и ниндзя...

SNMP ловушка
Всем привет! Есть у кого-нибудь рабочий пример кода SNMP ловушки? То есть устройство при...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru