GetKey         
キーの押し下げ状況を取得(複数同時押し可)

☆宣言
'▼データ型の宣言
Type KeyBufferType
    Key(255) As String * 1
End Type

'▼APIの宣言
Declare Function GetKeyState Lib "user32" ( _
    ByVal nVirtKey As Long _
) As Integer

'▼定数の宣言
Global Const VK_LBUTTON = 1
Global Const VK_RBUTTON = 2

…あまりに長いので省略
    (サンプルプログラムを参照して下さい)…

Global Const VK_F16 = &H7F
Global Const VK_NUMLOCK = &H90

'▼関数の宣言
Function GetKey%(ByVal nVKey%)
    GetKey = (GetKeyState(nVKey) And &H80) <> 0
End Function
☆使用例と使用例のパラメータ
If GetKey(VK_LEFT) = True Then
    LLeft.BackColor = RGB(255, 0, 0)
Else
    LLeft.BackColor = RGB(255, 255, 255)
End If
使用例は←の矢印キーを押していたらLLeftのBackColorを
赤に、そうでない場合は白にするというものです。

GetKey関数を使います。GetKeyは現在、()の中に書かれた
キーが押されているかを調べて、押されていればTrue、
押されていなければFalseを返します。
ゲームなどで同時押しを判別したいときに使って
下さい。


VK_LEFT…←の矢印キーという意味です。
同じように、VK_RIGHT, VK_DOWN, VKUPもあります。
その他の特別なキーはサンプルプログラムのModule1.bas
を参照して下さい。名前からだいたい意味がわかると
思います。また、ふつうのAとかBとかのキーは
Asc("A")とかAsc("B")というふうに指定して下さい。

サンプルプログラムを見て頂ければ、
よりわかりやすいと思います。↓
☆サンプルプログラム
getkey.lzh (5.87KB)


Directory Reference
Top page
 Visual Basic Room
  Windows API (戻る)
   GetKey