Visual Basic Tips


スナップショット(API)


API関数のkeybd_eventでPrint Screenの押下をシミュレートしてクリップボードに格納されたデータをイメージコントロールに表示します。


Private Sub Form_Load()
  Image1.Stretch = True
End Sub


Private Sub Command1_Click()
  Clipboard.Clear
  'アクティブウィンドウのスナップショット
  Call keybd_event(VK_SNAPSHOT, 0, 0, 0)
  Call keybd_event(VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0)
  DoEvents
  Image1.Picture = Clipboard.GetData
End Sub

Private Sub Command2_Click()
  Clipboard.Clear
  '画面全体のスナップショット
  Call keybd_event(VK_SNAPSHOT, 1, 0, 0)
  Call keybd_event(VK_SNAPSHOT, 1, KEYEVENTF_KEYUP, 0)
  DoEvents
  Image1.Picture = Clipboard.GetData
End Sub

'-------------------------------------------------------
'
'-------------------------------------------------------
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_SNAPSHOT = &H2C '[Snap Shot]


DownLoad vbtips095.lzh 2KB (VB6.0)