Урок 31 Работа с клавишами February 21, 2007

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