Necesito Ayuda para mandar teclas a un programa especifico.

      • 70
      • mensajes
      • miembro desde
      • 11/09/01
    • -= ShAdOw MoNkEy =-
    #1 Necesito Ayuda para mandar teclas a un programa especifico.

    Esto es para Visual Basic

    Lo que necesito hacer es que mi programa mande una tecla a un programa en especial sin que para hacerlo tengo que activarlo (o sea, que se lo mande a un programa minimizado con un timer y que vos mientras puedas usar la computadora para otra cosa). Lo del timer ya lo tengo resuelto, y SENDKEYS solo le manda a la ventana activa, por lo que no me sirve.

    Si alguien me puede ayudar, se lo agradeceria.

    Salu2
    Zeta

  1. ¿Este tema te pareció interesante? Compártelo!

    ¿No es lo que buscabas? Intenta buscar un tema similar

    14 comentarios / 6221 Visitas

      • 820
      • mensajes
      • miembro desde
      • 11/03/02
    • Serenity now!
    29/04/2002
    #2

    Podes usar la api keyb_event, aunque tambien lo manda a lo que tenga el foco. Lo que podes hacer es cada tanto usar las apis para ver que ventana tiene el foco, guardar el handle en una variable buscar la ventana de la aplicacion que queres, ponerle el foco, mandar las teclas y devolver el foco a la aplicacion anterior.

      • 70
      • mensajes
      • miembro desde
      • 11/09/01
    • -= ShAdOw MoNkEy =-
    29/04/2002
    #3

    Gracias Fede, pero la parte de activar ventanas y mandarles teclas la domine, lo que necesito es mandarle teclas a un programa minimizado sin que interfiera con el resto del sistema.

    Muchas gracias por contestar de todos modos.

    Salu2
    Zeta

    • PoetaCamba
      Invitado
    03/05/2002
    #4

    mmmm, busca en la MSDN,
    Primero podrias conseguir el window handle (hWnd) del text box/ventana en cuestion, usando alguna api como WindowFromPoint o buscando el nombre de la clase con el Spy++ o parecidos, y despues usando FindWindow.

    Despues le mandas un mensaje WM_KEYDOWN usando la Win API, y creo que tambien tenes que hacer un WM_KEYUP, o se hace solo, no me acuerdo...probá

    ahi no necesitas foco... igual si el programa es alguno onda de internet gratis, supongo que verificara si su ventana es la actual con foco, y despues aceptar el mensaje de la tecla
    onda:
    if(GetForegroundWindow() == hNuestraWnd) {
    procesarTecla();
    }

    Suerte!

      • 70
      • mensajes
      • miembro desde
      • 11/09/01
    • -= ShAdOw MoNkEy =-
    06/05/2002
    #5

    Muchas gracias, con eso avanza bastante.

    Lo unico que ahora necesito es el ascii para las teclas F3 y F4 (si es que tienen ASCII , no estoy seguro si las funciones lo tienen)
    Tambien tengo la duda si con WM_KEYDOWN se pueden mandar funciones o solo caracteres.

    Agradeceria si alguien me ayuda con estas dudas.
    Salu2
    Zeta

      • 2,532
      • mensajes
      • miembro desde
      • 22/02/01
    06/05/2002
    #6

    creo que las teclas de funcion no tienen ASCII

      • 70
      • mensajes
      • miembro desde
      • 11/09/01
    • -= ShAdOw MoNkEy =-
    07/05/2002
    #7

    Bueno, ya descubri como hacerlo.
    Simplemente le mando vbKeyF1 con el KEYDOWN.

    Al fin me salio que funque 100 % !!!
    Muchas gracias a todos los que ayudaron.

      • 70
      • mensajes
      • miembro desde
      • 11/09/01
    • -= ShAdOw MoNkEy =-
    07/05/2002
    #8

    Tengo un problema.... necesito sacar el handler a partir de las primeras letras del caption de la aplicacion, porque las ultimas letras cambian cada vez que me conecto al servidor (es para un juego que hago esto, necesito que identifique el nombre del juego pero que ignore el resto.

    Me mencionaron que puedo usar
    EnumWindows y GetWindowsText , pero tengo idea como usarlos y en las referencias qeu encontre no me quedo nada claro.

    Necesito que el programa levante el hwnd de la aplicacion que empieze con "Ultima Online" y que me devuelva el handler a una variable, alguien me puede ayudar con esto ?

      • 70
      • mensajes
      • miembro desde
      • 11/09/01
    • -= ShAdOw MoNkEy =-
    07/05/2002
    #9

    Problema resuelto

      • 45
      • mensajes
      • miembro desde
      • 23/12/04
    21/01/2009
    #10 Re: Necesito Ayuda para mandar teclas a un programa especifico.
    Cita Escrito por Zeta Ver mensaje
    Esto es para Visual Basic

    Lo que necesito hacer es que mi programa mande una tecla a un programa en especial sin que para hacerlo tengo que activarlo (o sea, que se lo mande a un programa minimizado con un timer y que vos mientras puedas usar la computadora para otra cosa). Lo del timer ya lo tengo resuelto, y SENDKEYS solo le manda a la ventana activa, por lo que no me sirve.

    Si alguien me puede ayudar, se lo agradeceria.

    Salu2
    Zeta
    Hola Zeta, veo este post tuyo de hace varios años ya. Estoy necesitando hacer algo parecido a esto. Activar una ventana, leer un archivo de texto y enviar lo que está ahí (teclas Tab, etc incluidas) a esa ventana como si un usuario lo estuviera escribiendo. Vos lo pudiste hacer funcionar? Al TXT lo genero yo como quiero.

    Un saludo.
12 Último
IR ARRIBA