Saltar cuadro de diálogo imprimir en Flash

C

Buenas!

Antes de nada decir que ya me he pateado google.

Duda ActionsScript:

¿Cómo puedo saltar el cuadro de diálogo de impresión? Para imprimir directamente.

Gracias!!!!!!!!!!!!!!

C

Bueno, di con una solución que funciona. La comparto para enriquecer nuestra comunidad xD

El problema no era mío, sino de un compañero de informática. En concreto del creativo web.

Al final le hecho un .exe en vb6 que hace lo siguiente:

Buscar una ventana con el texto Imprimir.
Localizar a continuación el Handle del boton Imprimir y enviar una pulsación.

El programa se ejecuta al lanzar el flash y se cierra cuando este también lo hace ya que en el timer que veréis a continuación evalúo si hay alguna aplicación flash lanzada. De lo contrario cierro el EXE.

Nos sirve puesto que es para un aplicación que va a estar en un stand de una feria y sólo va a tener ese flash funcionando en fullscreen todo el tiempo.

Os pego el código VB (no pego la declaración de funciones y constantes de las API's puesto que están en cualquier página por ahí):

Private Sub Form_Load()

Me.Visible = False
tmrRastrear.Interval = 100
tmrRastrear.Enabled = True

End Sub

 Sub Enviar_Pulsacion(Handle As Long)

 Call SendMessage(Handle, BM_SETSTATE, 0, ByVal 0&)
 Call SendMessage(Handle, WM_LBUTTONDOWN, 0, ByVal 0&)
 Call SendMessage(Handle, WM_LBUTTONUP, 0, ByVal 0&)
 Call SendMessage(Handle, BM_SETSTATE, 1, ByVal 0&)

 End Sub

Private Sub tmrRastrear_Timer()

Dim Hndl, Hnd2, Hnd3 As Long

'Obtenemos el Handle de la ventana de Imprimir
Hnd1 = FindWindowx(vbNullString, Trim("Imprimir"))

If Hnd1 > 0 Then

    'Obtenemos el Handle del Botón Imprimir
    Hnd2 = FindWindowEx(Hnd1, 0, vbNullString, Trim("I&mprimir")) 'I&mprimir
   
    'Ocultamos la ventana
    ShowWindow Hnd1, SW_HIDE
   
    If Hnd2 > 0 Then

        'Enviamos pulsación
        Enviar_Pulsacion (Hnd2)
    
        'Obtenemos Handle EXE Flash
        Hnd3 = FindWindowx("ShockwaveFlash", vbNullString)
    
        'Maximizamos la ventana
        ShowWindow Hnd3, SW_SHOWMAXIMIZED
        
        'Le quitamos el borde
        SetWindowLong Hnd3, GWL_STYLE, GetWindowLong(Hnd3, GWL_STYLE) And Not WS_CAPTION
    
    End If

End If

'Comprobación para salir
        
'Obtenemos Handle EXE Flash
Hnd3 = FindWindowx("ShockwaveFlash", vbNullString)
If Hnd3 = 0 Then
    Unload Me
End If

End Sub

Crawler

no se si lo usaré alguna vez en la vida, pero cuanto menos es interesante saber que se puede... :P

1

Usuarios habituales

  • Crawler