Wenas... tengo un problema al capturar la pantalla, el problema no es capturarlo sino obtenerlo, me devuelve un error diciendo "no se puede abrir el portapapeles" y la verdad es que nose cual es el error porque el code esta bien, el code es el siguiente:
Private Sub Timer1_Timer()
If GetKeyPress(vbKeyF8) Then
keybd_event 44, 0, 0&, 0&
Image1.Picture = Clipboard.GetData(vbCFBitmap)
end if
end sub
el code funciona bien cuando la ventana activa es la del prog, pero si estoy viendo otra ventana y presiono F8 el programa me devuelve el error que les mencione. Es muy raro
ACLARO: no tengo ningun programa abierto que haga uso del portapapeles
busca de limpiar el portapapeles primero.
Deberia haber un comando paran eso.
si, eso si lo ago con clipboard.clear pero pasa lo mismo :s :-(
Esta función es para guardar la captura, la puedes adaptar a tu gusto
Public Function CapturaP(ByVal Path As String)
On Error Resume Next
Dim A As Boolean
Do While Not A
Clipboard.Clear
keybd_event 44, 1, 0&, 0&
DoEvents
If Clipboard.GetFormat(vbCFBitmap) Then
SavePicture Clipboard.GetData(vbCFBitmap), Path
DoEvents
Clipboard.Clear
A = True
End If
Loop
End Function
Ace poco hice algo referente a esto, Me baje una Dll que convertía a JPG, existe alguna api que pueda hacerlo? Gracias