Windows可以通过按下PrintScreen键来截取整个屏幕,按下Alt+printScreen来截取当前窗口,因此可以通过在程序中模拟键盘动作来接图。使用API函数就行了。

解决方案 »

  1.   

    O!MY GOD!
    看来我没说清楚,SORRY,我的意思是如何用VB程序截取屏幕画面。
    各位有知道的请告诉小弟一声。
      

  2.   

    仔细看了一下,好象是我搞错了,不过我还是不会通过在程序中模拟键盘动作来截取屏幕画面,能否说仔细点,比如相关的API函数。
      

  3.   

    用GETDC()获得桌面的HDC,你就可以为所欲为了。
      

  4.   

    hDC = GetDC(0)
    sx = Screen.Width \ Screen.TwipsPerPixelX
    sy = Screen.Height \ Screen.TwipsPerPixelY
    BitBlt picCopy.hDC,0,0,sx,sy,hDC,0,0,vbSrcCopy
    ReleaseDC 0,hDC可以再补充一些内容,让效果更好。
      

  5.   

    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 Long
    Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
    Private Declare Function InvalidateRect Lib "user32" (ByVal hwnd As Long, lpRect As Long, ByVal bErase As Long) As Long
    Dim dd As Long
    '将picture1的AutoRedraw改为truePrivate Sub Command1_Click()
        dd = GetDC(0)
        BitBlt Picture1.hDC, 0, 0, Picture1.Width, Picture1.Height, dd, 0, 0, &HCC0020
        InvalidateRect Picture1.hwnd, 0&, True
    End Sub