Урок 31 Работа с клавишами
February 21, 2007
в колонках играет Black eyed Peace - Let's get started
Сегодня мы будем работать с клавишами.
1. Нажатие клавиш и кнопок мыши
Вариант 1
keybd_event('VK', 0,0,0);
keybd_event('VK', 0,KEYEVENTF_KEYUP,0);
Где 'VK' - нужная клавиша
Чтобы узнать, какая клавиша нажата:
if(GetKeyState(VK_F4)& 0x80){...}
Где VK_F4 - код нужной клавиши
Вариант 2
void __fastcall TForm1::FormKeyPress(TObject *Sender, char &Key)
{
if(Key==VK_ESCAPE){Close();}//при нажатии ESC наша форма закроется.
}
Имитация нажатия кнопок мыши
INPUT inp[2];
memset(inp,0,sizeof(inp));
inp[0].type=INPUT_MOUSE;
inp[0].mi.dwFlags=MOUSEEVENTF_LEFTDOWN; //левая кнопка мыши нажата
inp[1].type=INPUT_MOUSE;
inp[1].mi.dwFlags=MOUSEEVENTF_LEFTUP;//левая кнопка мыши отпущена
SendInput(2,inp,sizeof(INPUT));
Перемещение курсора в заданные координаты
SetCursorPos(X,Y);
Где X и Y - координаты, куда надо переместить
2. Переключение раскладки
LoadKeyboardLayout(“00000409“, KLF_ACTIVATE); // английский
LoadKeyboardLayout(“00000419”, KLF_ACTIVATE); // русский
Вы можете узнать код раскладок в языковых настройках винды.
Author of article - [ArtuR] 2007
www.builderhelper.3dn.ru
builder.helper@rambler.ru