Option Explicit
'模擬鍵盤函數
Private Declare Sub keybd_event Lib "user32" _
(ByVal bVk As Byte, ByVal Scan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
'根據指定的映射類型,執行不同的掃描碼和字符轉換,0—— wCode是個虛擬鍵碼。函數返回相應的掃描碼
Private Declare Function MapVirtualKey Lib "user32" _
Alias "MapVirtualKeyA" _
(ByVal wCode As Long, _
ByVal wMapType As Long) _
As Long
Private Const VK_ALT = &H12 'alt
Private Const VK_SNAPSHOT = &H2C 'print screen
Private Const KEYEVENTF_KEYUP = &H2
Private Const VK_RETURN = &HD
Private Sub Command1_Click()
'取剪貼板的圖片給picture1
If Clipboard.GetFormat(vbCFBitmap) Then
Picture1.Picture = Clipboard.GetData
End If
Clipboard.Clear
End Sub
Private Sub Command2_Click()
'將當前窗口的截屏復制到剪貼板
Picture1.Picture = Nothing
keybd_event VK_ALT, MapVirtualKey(VK_ALT, 0), 0, 0 '起動alt
keybd_event VK_SNAPSHOT, MapVirtualKey(VK_SNAPSHOT, 0), 0, 0 '模擬按下"printScreen"鍵
keybd_event VK_SNAPSHOT, MapVirtualKey(VK_SNAPSHOT, 0), KEYEVENTF_KEYUP, 0 '撤消按下"printScreen"鍵
keybd_event VK_ALT, MapVirtualKey(VK_ALT, 0), KEYEVENTF_KEYUP, 0 '撤消alt
End Sub