Maria:
Si en un formulario que contenga un botón llamado Command1 colocás el siguiente código podés copiar la imagen de la pantalla en el formulario y establecerla como una imagen:
_________________________________________________________
Option Explicit
DefLng A-Z
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 ReleaseDC Lib "user32" (ByVal HWND As Long, ByVal Hdc As Long) As Long
Private Declare Function GetWindowDC Lib "user32" (ByVal HWND As Long) As Long
Private Sub Command1_Click()
On Error Resume Next
Dim lngDc As Long
With Me
.AutoRedraw = True
lngDc = GetWindowDC(0)
BitBlt .Hdc, 0, 0, ScaleWidth / Screen.TwipsPerPixelX + 1, ScaleHeight / Screen.TwipsPerPixelY + 1, lngDc, 0, 0, vbSrcCopy
Set .Picture = .Image
ReleaseDC 0, lngDc
End With
DoEvents
End Sub
_________________________________________________________
Seguramente este fragmento de código no te sirva tal como está, pero podés adaptarlo. Por ejemplo podés utilizar un picturebox y reemplazar el formulario por el picturebox (rremplazá me por el nombre del picturebox), incluso podés esconderlo. Si querés guardar la imagen como un bitmap podés utilizar la función SavePicture
Saludos Ruri