Кароче нужно в паскале воспользоваться вин апишными функциями. А точнее функцией GetKeyBoardState. Для этого нужно подключить фунцкию из длл библиотеки. Например так я подключаю функцию GetKeyState:
function GetKeyState(nVirtKey:integer):smallint; external 'User32.dll';
Но как я понял GetKeyBoardState это типа массив и функция сохраняет в каждый элемент массива информацию о каждой клавише. И поэтому я никак не могу подключить эту функцию, там же должно быть два значения: клавиша типа интеджер и информация о клавише типа булеан. Тогда будет так:
GetKeyBoardState(nVirtKey:integer;f:boolean):smallint...
Но всё равно пишет ошибку при запуске проги. Кто может сказать полное описание этой функции?
И ещё как потом использовать эту функцию, если GetKeyState я использовал так:
procedure KeyDown(key:integer);
begin
GetKeyState(key);
case key of
VK_Left:....
...
end;
end;
begin
OnKeyDown:=KeyDown;
end.
А в GetKeyBoardState это же массив и тогда надо выбирать какие клавиши нажаты, то есть проверять все варианты типа Key[VK_Left], Key[VK_Right] и т.д. И как это тогда осуществить? А если надо выбрать вариант когда нажаты несколько клавиш?