Private Sub Command1_Click() MsgBox "Presiona aceptar y espera 5 segundos para capturar la pantalla" Timer1.Enabled = True Me.WindowState = vbMinimized End Sub Private Sub Timer1_Timer() ' El timer debe tener Interval de 5000 CapturarPantalla Picture1 Timer1.Enabled = False Me.WindowState = vbNormal End Sub ' En un Modulo Public Declare Function GetDesktopWindow Lib "user32" () As Long Public Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long Public 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 Public Declare Function GetCursorInfo Lib "user32.dll" (ByRef pci As PCURSORINFO) As Long Public Declare Function GetCursor Lib "user32" () As Long Public Declare Function DrawIcon Lib "user32" (ByVal hDC As Long, ByVal x As Long, ByVal y As Long, ByVal hIcon As Long) As Long Public Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long Public Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long Public Declare Function ShowCursor Lib "user32" (ByVal bShow As Long) As Long Public Type POINTAPI x As Long y As Long End Type Public Type PCURSORINFO cbSize As Long flags As Long hCursor As Long ptScreenPos As POINTAPI End Type Public Sub CapturarPantalla(ElPicture As Control) Dim Point As POINTAPI Dim pcin As PCURSORINFO Dim ret, ww, hh Dim Desktop As Long Desktop = GetDC(GetDesktopWindow) DoEvents ww = Screen.Width / Screen.TwipsPerPixelX hh = Screen.Height / Screen.TwipsPerPixelY BitBlt ElPicture.hDC, 0, 0, ww, hh, Desktop, 0, 0, vbSrcCopy DoEvents ' mouse GetCursorPos Point pcin.hCursor = GetCursor pcin.cbSize = Len(pcin) ret = GetCursorInfo(pcin) DrawIcon ElPicture.hDC, Point.x, Point.y, pcin.hCursor End Sub