スクリーンキャプチャを実行<スクリーン全体>
キーボードにある「PrintScreen」キーを押すと現在の画面がビットマップとしてクリップボードにコピーされます。それをソフトウェア的に再現してみます。
<スクリーンの内容を取り込みます>
宣 言 |
(Private) Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) |
※Privateは必要に応じて削除またはPublicに変更
引 数 説 明 |
KeyNumber |
Byte |
仮想キーコード |
ScanCode |
Byte |
KeyNumberのOEMスキャンコード(今回は1) |
dwFlags,dwExtraInfo |
Long |
今回は0に設定 |
サ ン プ ル プ ロ グ ラ ム |
プログラムを張りつけ実行し、フォームをクリックすると現在のスクリーンの画像をフォームに表示します。
動作確認:Visual Basic 5.0,Windows98
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As
Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) Private Sub Form_Click() keybd_event &H2C, 1, 0, 0'PrintScreenキーを押す DoEvents Form1.Picture = Clipboard.GetData End Sub |
このAPI(Keybd_events)は名前のとおりキーをソフト的に発行するものです。
応用すればソフトウェアキーボードなども作れます。