Sendkeys en ventana inactiva cpm VB6 ?¿

Iniciado por Xephiro, 18 Julio 2007, 09:26 AM

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

Xephiro

Hola, bueno mi pregunta es presisa y me gustaria saber si es posible y como :S,

Si acaso puedo usar Sendkeys() en VB6 con una ventana inactiva, cosa que envie datos a la ventana mientras hago otras cosas como hablar por MSN, mientras el programa envia datos a una ventana minimizada....

...

Kizar

Sendkeys() manda una cadena de caracteres a la ventana activa, por lo tanto no te sirve para mandar nada a una ventana que no tenga el foco.
Puedes coger el handle de la ventana que quieras y ponerla como ventana activa con la api SetActiveWindow y luego mandas usas Sendkeys().

Xephiro

Pero eso me permitiria hacer otras cosas mientras estoy esta corriendo el programa?? ... osea mientra trabajo normalmente en el PC, ese programa envie los Sendkeys() a la ventana que le espesifique ... ??

Lambda

puedes hacer una funcion para enviar teclas a esa ventana u ysarla como SendKeys

Hice esta funcion, no se si funciona pero pruebala

Private Declare Function SetActiveWindow Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Function SendKeysEx(Ventana As String, Tecla As String, Optional Espera = 0) As Boolean
On Error GoTo error
Dim Ventanita As Long
Ventanita = FindWindow(vbNullString, Ventana)
SetActiveWindow Ventanita
SendKeys Tecla, Espera
SendKeysEx = True
Exit Function
error:
SendKeysEx = False
End Function


Llamala usando SendKeysEx("Nombredelaventana", "Tecla")

saludos ;D ;D

Kizar

Y ya para dejarlo niquelado seria después de haber sacado el handle de la ventana mirar el estado en que se encuentra, ponerla activa, mandar el texto y volverla a poner en el estado en el que se encontraba antes para que si estas haciendo otra cosa con el ordenador no sea tan molesto.

3k1n0x

yo la otra ves intente eso mismo y seguro mucha gente tambien, pero sendkeys es como una accion nada mas es decir tira las combinaciones de teclas ahi no mas y quien sabe si caen donde uno quiere, lo mejor es usar las apis que envian el texto directamente, solo queda buscar salu2s
T3fL0n -> 3k1n0x

heetin

Lo intente hacer pèro no pude, Podrias dejar el codigo echo :S? o mas detallado ?
[Hay un mundo mejor ¡Pero es muy caro!] # Heetin

Elemental Code

alguien esta queriendo hacer un keylogger??

:rolleyes:

I CODE FOR $$$
Programo por $$$
Hago tareas, trabajos para la facultad, lo que sea en VB6.0

Mis programas

BlackZeroX


Alguien esta reviviendo Post que ya no tienen caso desde hace 3 años?

Dulce Infierno Lunar!¡.
The Dark Shadow is my passion.