Captura de pantalla
Publicado por Clara (2 intervenciones) el 18/03/2004 15:43:04
Hola de nuevo. He avanzado bastante... pero no me funciona bien la dichosa rutina.
Captura la pantalla y la graba en jpg a la calidad que quiero. (puse 50 por ciento). Todo perfecto. PERO. Si cambio de aplicación, da error 521. \\\"No se puede abrir el portapapeles\\\". Si permanezco en la pantalla inicial, funciona bien.
Algun alma caritativa le da un vistazo al código?, creo que está clarito, pero...
\\\' función que llama a la dll para pasar a jpg
Private Declare Function DIWriteJpg Lib \\\"DIjpg.dll\\\" (ByVal DestPath As String, ByVal quality As Long, ByVal progressive As Long) As Long
\\\' función que copia la pantalla al portapapeles
Private Declare Sub keybd_event Lib \\\"user32\\\" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Const VK_SNAPSHOT = &H2C
Dim nombre_fichero As String \\\' el nombre del fichero a grabar con la extensión
Dim vara1 As String \\\' será el año
Dim vara2 As String \\\' será el mes
Dim vara3 As String \\\' será el día
Dim vara4 As String \\\' será la hora
Dim vara5 As String \\\' Será la extensión
Dim vara6 As Byte \\\' contador de capturas
Dim vara7 As IPictureDisp \\\' La imagen
Dim retval As Long \\\' llamada a la dll para pasar a jpg con parámetros
Dim loadStr As String \\\' pantalla capturada en bmp
Private Sub Form_Activate()
vara6 = 1 \\\' inicializa el contador
\\\'
End Sub
Private Sub Timer1_Timer()
If vara6 > 5 Then \\\' limita el número
Captura la pantalla y la graba en jpg a la calidad que quiero. (puse 50 por ciento). Todo perfecto. PERO. Si cambio de aplicación, da error 521. \\\"No se puede abrir el portapapeles\\\". Si permanezco en la pantalla inicial, funciona bien.
Algun alma caritativa le da un vistazo al código?, creo que está clarito, pero...
\\\' función que llama a la dll para pasar a jpg
Private Declare Function DIWriteJpg Lib \\\"DIjpg.dll\\\" (ByVal DestPath As String, ByVal quality As Long, ByVal progressive As Long) As Long
\\\' función que copia la pantalla al portapapeles
Private Declare Sub keybd_event Lib \\\"user32\\\" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Const VK_SNAPSHOT = &H2C
Dim nombre_fichero As String \\\' el nombre del fichero a grabar con la extensión
Dim vara1 As String \\\' será el año
Dim vara2 As String \\\' será el mes
Dim vara3 As String \\\' será el día
Dim vara4 As String \\\' será la hora
Dim vara5 As String \\\' Será la extensión
Dim vara6 As Byte \\\' contador de capturas
Dim vara7 As IPictureDisp \\\' La imagen
Dim retval As Long \\\' llamada a la dll para pasar a jpg con parámetros
Dim loadStr As String \\\' pantalla capturada en bmp
Private Sub Form_Activate()
vara6 = 1 \\\' inicializa el contador
\\\'
End Sub
Private Sub Timer1_Timer()
If vara6 > 5 Then \\\' limita el número
Valora esta pregunta


0