TOP > カテゴリ > Visual Basic >

画面をキャプチャする

画面をキャプチャするサンプルです。

サンプルの実行画面

APIの宣言

[keybdevents.bas]

'keybd_event=>特殊キーの状態を設定する

'<引数>
'bVk:        定数(VK_××参照)
'bScan:       スキャンコード
'dwFlags:     定数 (KEYEVENTF_参照)
'dwExtraInfo: 常に0

'@戻り値@
' なし

Public Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

Public Const KEYEVENTF_EXTENDEDKEY = &H1
Public Const KEYEVENTF_KEYUP = &H2            ' キーを放す


Public Const VK_ADD = &H6B                    '「+」キー
Public Const VK_BACK = &H8                    '「BS」キー
Public Const VK_CANCEL = &H3                  '「BREAK]キー
Public Const VK_ATTN = &HF6                   '「SHIFT LOCK]キー
Public Const VK_WIN = &H5B                    '「Windows」キー
Public Const VK_CAPITAL = &H14                '
Public Const VK_CLEAR = &HC                   '「CLEAR」キー
Public Const VK_CONTROL = &H11                '「CTRL」キー
Public Const VK_CRSEL = &HF7                  '
Public Const VK_DECIMAL = &H6E                ' 少数点キー
Public Const VK_DELETE = &H2E                 '「DEL」キー
Public Const VK_DIVIDE = &H6F                 '「/」キー
Public Const VK_DOWN = &H28                   '「↓」キー
Public Const VK_END = &H23                    '「END」「HELP」キー
Public Const VK_EREOF = &HF9                  '
Public Const VK_ESCAPE = &H1B                 '「ESC」キー
Public Const VK_EXECUTE = &H2B                '
Public Const VK_EXSEL = &HF8                  '
Public Const VK_F1 = &H70                     ' F1キー
Public Const VK_F2 = &H71                     ' F2キー
Public Const VK_F3 = &H72                     ' F3キー
Public Const VK_F5 = &H74                     ' F5キー
Public Const VK_F4 = &H73                     ' F4キー
Public Const VK_F6 = &H75                     ' F6キー
Public Const VK_F7 = &H76                     ' F7キー
Public Const VK_F8 = &H77                     ' F8キー
Public Const VK_F9 = &H78                     ' F9キー
Public Const VK_F10 = &H79                    ' F10キー
Public Const VK_F11 = &H7A                    ' F11キー
Public Const VK_F12 = &H7B                    ' F12キー
Public Const VK_F13 = &H7C                    ' F13キー
Public Const VK_F14 = &H7D                    ' F14キー
Public Const VK_F15 = &H7E                    ' F15キー
Public Const VK_F16 = &H7F                    ' F16キー
Public Const VK_F17 = &H80                    ' F17キー
Public Const VK_F18 = &H81                    ' F18キー
Public Const VK_F19 = &H82                    ' F19キー
Public Const VK_F20 = &H83                    ' F20キー
Public Const VK_F21 = &H84                    ' F21キー
Public Const VK_F22 = &H85                    ' F22キー
Public Const VK_F23 = &H86                    ' F23キー
Public Const VK_F24 = &H87                    ' F24キー
Public Const VK_HELP = &H2F                   '「HELP」キー
Public Const VK_HOME = &H24                   '「HOME]キー
Public Const VK_INSERT = &H2D                 '「INS」キー
Public Const VK_LBUTTON = &H1                 ' マウス左ボタン
Public Const VK_LCONTROL = &HA2               '
Public Const VK_LEFT = &H25                   '「←」キー
Public Const VK_LMENU = &HA4                  '
Public Const VK_LSHIFT = &HA0                 ' マウス中央ボタン
Public Const VK_MBUTTON = &H4                 ' NOT contiguous with L RBUTTON
Public Const VK_MENU = &H12                   '「MENU」「GRPH」キー
Public Const VK_MULTIPLY = &H6A               '「*」キー
Public Const VK_NEXT = &H22                   '「PgUp」キー
Public Const VK_NONAME = &HFC                 '
Public Const VK_NUMLOCK = &H90                '「NumLock」キー
Public Const VK_NUMPAD0 = &H60                ' テンキーパッドの「0」キー
Public Const VK_NUMPAD1 = &H61                ' テンキーパッドの「1」キー
Public Const VK_NUMPAD2 = &H62                ' テンキーパッドの「2」キー
Public Const VK_NUMPAD4 = &H64                ' テンキーパッドの「4」キー
Public Const VK_NUMPAD3 = &H63                ' テンキーパッドの「3」キー
Public Const VK_NUMPAD5 = &H65                ' テンキーパッドの「5」キー
Public Const VK_NUMPAD6 = &H66                ' テンキーパッドの「6」キー
Public Const VK_NUMPAD7 = &H67                ' テンキーパッドの「7」キー
Public Const VK_NUMPAD8 = &H68                ' テンキーパッドの「8」キー
Public Const VK_NUMPAD9 = &H69                ' テンキーパッドの「9」キー
Public Const VK_OEM_CLEAR = &HFE              '
Public Const VK_PA1 = &HFD                    '
Public Const VK_PAUSE = &H13                  '「Pause」キー
Public Const VK_PLAY = &HFA                   '
Public Const VK_PRIOR = &H21                  '
Public Const VK_PRINT = &H2A                  '
Public Const VK_PROCESSKEY = &HE5             '
Public Const VK_RBUTTON = &H2                 ' マウス右ボタン
Public Const VK_RCONTROL = &HA3               '
Public Const VK_RETURN = &HD                  '「Enter」キー
Public Const VK_RIGHT = &H27                  '「→」キー
Public Const VK_RMENU = &HA5                  '
Public Const VK_RSHIFT = &HA1                 '
Public Const VK_SCROLL = &H91                 '
Public Const VK_SELECT = &H29                 '「Select」キー
Public Const VK_SEPARATOR = &H6C              '
Public Const VK_SHIFT = &H10                  '「Shift」キー
Public Const VK_SNAPSHOT = &H2C               ' PrintScreen
Public Const VK_SUBTRACT = &H6D               '「-」キー
Public Const VK_SPACE = &H20                  ' スペースキー
Public Const VK_TAB = &H9                     '「TAB」キー
Public Const VK_UP = &H26                     '「↑」キー
Public Const VK_ZOOM = &HFB                   '

Public Const VK_A = 65                        '「A」キー
Public Const VK_B = 66                        '「B」キー
Public Const VK_C = 67                        '「C」キー
Public Const VK_D = 68                        '「D」キー
Public Const VK_E = 69                        '「E」キー
Public Const VK_F = 70                        '「F」キー
Public Const VK_R = 82                        '「R」キー
       '
       '                                       以下略・・・
       '
Public Const VK_X = 87                        '「X」キー
Public Const VK_Y = 89                        '「Y」キー
Public Const VK_Z = 90                        '「Z」キー

APIの呼び出し

[keybdevents.frm]

Private Sub Command1_Click()

Dim Ret As Long

Clipboard.Clear

Call keybd_event(VK_SNAPSHOT, 1, 0, 0)

DoEvents

Picture1.Picture = Clipboard.GetData

End Sub

Private Sub Command2_Click()

Dim Ret As Long

Clipboard.Clear

Call keybd_event(VK_SNAPSHOT, 0, 0, 0)

DoEvents

Picture1.Picture = Clipboard.GetData

End Sub


'クリップボードを経由しているのでそのままBMPファイルとして保存できます。

ソースコード一式のダウンロード

vbapi_keybdevents.zip 2.79 KB (2,864 バイト)

このサンプルの動作環境について

このサンプルは 「Windows98」及び「Microsoft Visual Basic 5.0 Professional Edition」で確認しております。環境が異なる場合は正常に動作しない場合もございますのでご了承下さい。





関連記事



公開日:2015年03月04日
記事NO:00349