snapshot好象是整个窗口界面,所以不行(keybd_event Lib "user32.dll")选取后再打印剪贴板的内容.谢谢!

解决方案 »

  1.   

    Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
    Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As LongPrivate Sub Command1_Click()
        Me.AutoRedraw = True
        BitBlt Picture1.hDC, 0, 0, Screen.Width, Screen.Height, GetDC(0), 0, 0, vbSrcCopy '抓屏
        Dim sFile As String
        sFile = "C:\" & Format(Now, "yyyymmddhhmmss") & ".BMP"
        SavePicture Me.Image, sFile '保存
    End Sub