API声明
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
说明 | ||
这个函数模拟了键盘行动 | ||
参数表 | ||
参数 | 类型及说明 | |
bVk | Byte,欲模拟的虚拟键码 | |
bScan | Byte,键的OEM扫描码 | |
dwFlags | Long,零;或设为下述两个标志之一 | |
KEYEVENTF_EXTENDEDKEY | 指出是一个扩展键,而且在前面冠以0xE0代码 | |
KEYEVENTF_KEYUP | 模拟松开一个键 | |
dwExtraInfo | Long,通常不用的一个值。api函数GetMessageExtraInfo可取得这个值。允许使用的值取决于特定的驱动程序 | |
注解 | ||
这个函数支持屏幕捕获(截图)。在win95和nt4.0下这个函数的行为不同 |
代码
Public Sub ScreenShot_Save()
On Error GoTo herr
Wait 0.5
keybd_event vbKeySnapshot, 0&, 0&, 0&
DoEvents
SavePicture Clipboard.getData, App.Path & "\ScreenShotSave\" & Format(Now, "yyyymmddhhmmss") & ".BMP"
MsgBox "截图成功!图片保存路径: " & vbCrLf & App.Path & "\ScreenShotSave\" & Format(Now, "yyyymmddhhmmss") & ".BMP", vbOKOnly + vbInformation, "屏幕截图"
Exit Sub
herr:
MsgBox "截图失败,请重试!", vbOKOnly, "屏幕截图"
End Sub