Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: kannalla en 4 Noviembre 2009, 20:35 pm



Título: Capturar de un menuBar "Imprimir" con FindWindows Visual .net 2005
Publicado por: kannalla en 4 Noviembre 2009, 20:35 pm

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.


Código:
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  :-(


Título: Re: Capturar de un menuBar "Imprimir" con FindWindows Visual .net 2005
Publicado por: Debian21 en 5 Noviembre 2009, 15:00 pm
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.