VB代码实现屏幕截图(Screenshot功能)


采用的模拟按键(vbKeySnapshot)的方法实现,根据网上的代码改的,非常简单


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


阅读更多

没有更多推荐了,返回首页