画面をキャプチャする
画面をキャプチャするサンプルです。
サンプルの実行画面
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」で確認しております。環境が異なる場合は正常に動作しない場合もございますのでご了承下さい。
スポンサーリンク
関連記事
前の記事: | 矩形に3D効果を与える |
次の記事: | 画像を拡大する |
公開日:2015年03月04日
記事NO:00349