キーが押されているかどうかを調べる
68 PressKeyCode 動作確認 Delphi2007 更新日 2008/01/31(木)

キーが押されているかどうかをリアルタイムに
調査するにはGetAsyncKeyStateを使います。

次のようにするとキーを押しているかどうかを
調べることができます。
────────────────────
function PressKeyCode(const VirtualKey: Integer): Boolean;
begin
  if ((GetAsyncKeyState( VirtualKey ) and $8000) = 0) then
    Result := False
  else
    Result := True;
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  if PressKeyCode(VK_CONTROL) then
    Label1.Caption := 'Ctrlキーを押している'
  else
    Label1.Caption := 'Ctrlキーを押していない';

  if PressKeyCode(VK_SHIFT) then
    Label2.Caption := 'Shiftキーを押している'
  else
    Label2.Caption := 'Shiftキーを押していない';

  if PressKeyCode(VK_MENU) then
    Label3.Caption := 'Altキーを押している'
  else
    Label3.Caption := 'Altキーを押していない';

  if PressKeyCode(VK_LWIN) then
    Label4.Caption := '左Winキーを押している'
  else
    Label4.Caption := '左Winキーを押していない';

  if PressKeyCode(VK_RWIN) then
    Label5.Caption := '右Winキーを押している'
  else
    Label5.Caption := '右Winキーを押していない';
end;
────────────────────
Altキーは VK_MENU になります。

バーチャルキーコード VK_ は Windows.pas に定義されています。
10進数と16進数で表記できるように一覧にしてみました。

左の値が10進数、右の値が16進数です。
VK_LBUTTON              1       01
VK_RBUTTON              2       02
VK_CANCEL               3       03
VK_MBUTTON              4       04
VK_XBUTTON1             5       05
VK_XBUTTON2             6       06
VK_BACK                 8       08
VK_TAB                  9       09
VK_CLEAR                12      0C
VK_RETURN               13      0D
VK_SHIFT                16      10
VK_CONTROL              17      11
VK_MENU                 18      12
VK_PAUSE                19      13
VK_CAPITAL              20      14
VK_KANA                 21      15
VK_HANGUL               21      15
VK_JUNJA                23      17
VK_FINAL                24      18
VK_HANJA                25      19
VK_KANJI                25      19
VK_CONVERT              28      1C
VK_NONCONVERT           29      1D
VK_ACCEPT               30      1E
VK_MODECHANGE           31      1F
VK_ESCAPE               27      1B
VK_SPACE                32      20
VK_PRIOR                33      21
VK_NEXT                 34      22
VK_END                  35      23
VK_HOME                 36      24
VK_LEFT                 37      25
VK_UP                   38      26
VK_RIGHT                39      27
VK_DOWN                 40      28
VK_SELECT               41      29
VK_PRINT                42      2A
VK_EXECUTE              43      2B
VK_SNAPSHOT             44      2C
VK_INSERT               45      2D
VK_DELETE               46      2E
VK_HELP                 47      2F
{ VK_0 thru VK_9 are the0 same as ASCII '0' thru '9' ($30 - $39) }
{ VK_A thru VK_Z are the0 same as ASCII 'A' thru 'Z' ($41 - $5A) }
VK_LWIN                 91      5B
VK_RWIN                 92      5C
VK_APPS                 93      5D
VK_SLEEP                95      5F
VK_NUMPAD0              96      60
VK_NUMPAD1              97      61
VK_NUMPAD2              98      62
VK_NUMPAD3              99      63
VK_NUMPAD4              100     64
VK_NUMPAD5              101     65
VK_NUMPAD6              102     66
VK_NUMPAD7              103     67
VK_NUMPAD8              104     68
VK_NUMPAD9              105     69
VK_MULTIPLY             106     6A
VK_ADD                  107     6B
VK_SEPARATOR            108     6C
VK_SUBTRACT             109     6D
VK_DECIMAL              110     6E
VK_DIVIDE               111     6F
VK_F1                   112     70
VK_F2                   113     71
VK_F3                   114     72
VK_F4                   115     73
VK_F5                   116     74
VK_F6                   117     75
VK_F7                   118     76
VK_F8                   119     77
VK_F9                   120     78
VK_F10                  121     79
VK_F11                  122     7A
VK_F12                  123     7B
VK_F13                  124     7C
VK_F14                  125     7D
VK_F15                  126     7E
VK_F16                  127     7F
VK_F17                  128     80
VK_F18                  129     81
VK_F19                  130     82
VK_F20                  131     83
VK_F21                  132     84
VK_F22                  133     85
VK_F23                  134     86
VK_F24                  135     87
VK_NUMLOCK              144     90
VK_SCROLL               145     91
                                      
VK_LSHIFT               160     A0
VK_RSHIFT               161     A1
VK_LCONTROL             162     A2
VK_RCONTROL             163     A3
VK_LMENU                164     A4
VK_RMENU                165     A5
                                      
VK_BROWSER_BACK         166     A6
VK_BROWSER_FORWARD      167     A7
VK_BROWSER_REFRESH      168     A8
VK_BROWSER_STOP         169     A9
VK_BROWSER_SEARCH       170     AA
VK_BROWSER_FAVORITES    171     AB
VK_BROWSER_HOME         172     AC
VK_VOLUME_MUTE          173     AD
VK_VOLUME_DOWN          174     AE
VK_VOLUME_UP            175     AF
VK_MEDIA_NEXT_TRACK     176     B0
VK_MEDIA_PREV_TRACK     177     B1
VK_MEDIA_STOP           178     B2
VK_MEDIA_PLAY_PAUSE     179     B3
VK_LAUNCH_MAIL          180     B4
VK_LAUNCH_MEDIA_SELECT  181     B5
VK_LAUNCH_APP1          182     B6
VK_LAUNCH_APP2          183     B7
                                                                 
VK_OEM_1                186     BA
VK_OEM_PLUS             187     BB
VK_OEM_COMMA            188     BC
VK_OEM_MINUS            189     BD
VK_OEM_PERIOD           190     BE
VK_OEM_2                191     BF
VK_OEM_3                192     C0
VK_OEM_4                219     DB
VK_OEM_5                220     DC
VK_OEM_6                221     DD
VK_OEM_7                222     DE
VK_OEM_8                223     DF
VK_OEM_102              226     E2
VK_PACKET               231     E7
VK_PROCESSKEY           229     E5
VK_ATTN                 246     F6
VK_CRSEL                247     F7
VK_EXSEL                248     F8
VK_EREOF                249     F9
VK_PLAY                 250     FA
VK_ZOOM                 251     FB
VK_NONAME               252     FC
VK_PA1                  253     FD
VK_OEM_CLEAR            254     FE



参考────────────────────
全ウインドウを最小化する
http://homepage1.nifty.com/MADIA/delphi/Win32API/AllClose.htm
    VK_WINとして$5B=91が登録されているが
    D2007のWindows.pasには
      VK_LWIN = 91;
      VK_RWIN = 92;
    という定義がある。

http://www.bekkoame.ne.jp/~yamasemi/labo/winkey.txt
仮想キーコードの表がある。