Capturar de un menuBar "Imprimir" con FindWindows Visual .net 2005

Iniciado por kannalla, 4 Noviembre 2009, 20:35 PM

0 Miembros y 1 Visitante están viendo este tema.

kannalla


Hola a todos ojala me puedan ayudar con este codigo...

este codigo hace los siguiente :

Lo que hace es comparar la palabra "Imprimir" con los menu de los programas ejemplo : office, notepad, blogdenotas, etc. y busca en el menu la palabra imprimir.

entonces si yo ingreso al notepad en este caso y voy a archivo --> "Imprimir" el sistema detecta que yo presione del menu la palabre imprimir y me arroja un msgbox ("Se ha abierto la ventana de impresión")


ahora con  este codigo y al presionar en cualquier menu el "Imprimir" me salen montones de mensajes ( "Se ha abierto la ventana de impresión") pude hacer que por lo menos me tome la palabra imprimir, pero se me vuleve loco con los mensajes... :s  :huh:

para mas datos en las propiedades del Timer1 en "Enabled" puse True.


Public Class Form1

    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer

    Private Sub Form_Load()
        Label1.Text = "Esperando a que se habra la ventana de impresión..."
        Timer1.Enabled = True
        Timer1.Interval = 200

    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        If FindWindow(vbNullString, "Imprimir") <> 0 Then
            MsgBox("Se ha habierto la ventana de impresion")
            Label1.Text = "Se ha abierto la ventana de impresión"
            Timer1.Enabled = False
        End If

    End Sub



ojala me puedan ayudar  :-(

Debian21

creo que estas con fundido... ese código no captura la palabra "imprimir" si no el hwnd de la ventana que contiene el titulo "imprimir"... claramente no escribiste tu el código  ;D

ahora puedes controlar eso con una variable que este en 1 y cuando se muestre el msgbox que cambie a 0 y con un if dices... si la variable es 0 entonces que no muestre nada.