VB 2008 - ayuda para insertar una tecla?

Iniciado por VanX, 17 Abril 2012, 18:50 PM

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

VanX

Buenas, he estado buscando en google pero no encuentro como que la aplicación de click a una tecla, que por ejemplo si estoy en un juego flash, de click a D para moverse a la derecha, gracias!

kub0x

VanX cuanto tiempo sin verte por aquí, que tal vamos?

Lo que pides es enviar pulsaciones a una aplicación externa verdad? Bueno con la API SendMessage es posible, los parametros a pasar son el Handle de la ventana donde quieres enviar la pulsacion (API Findwindow), el mensaje de Windows , el caracter en HEX y un count (veces que quieres que se pulse).

He utilizado FindWindowEx y FindWindowByClass ya que para escribir en el Notepad necesitas obtener su ventana hija.

Te dejo un ejemplo:

Código (VB.NET) [Seleccionar]

Imports System.Runtime.InteropServices

Public Class Form1
   Public Const WM_CHAR = &H102
   <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
   Private Shared Function SendMessage(ByVal hWnd As IntPtr, ByVal Msg As UInteger, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As IntPtr
   End Function
   <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
   Private Shared Function FindWindowEx(ByVal parentHandle As IntPtr, _
                     ByVal childAfter As IntPtr, _
                     ByVal lclassName As String, _
                     ByVal windowTitle As String) As IntPtr
   End Function

   <DllImport("user32.dll", EntryPoint:="FindWindow", SetLastError:=True, CharSet:=CharSet.Auto)> _
   Private Shared Function FindWindowByClass( _
    ByVal lpClassName As String, _
    ByVal zero As IntPtr) As IntPtr
   End Function

   Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
       Dim hWndPadre As IntPtr = FindWindowByClass("Notepad", IntPtr.Zero)
       Dim Handle As IntPtr = FindWindowEx(hWndPadre, IntPtr.Zero, "Edit", Nothing)
       SendMessage(Handle, WM_CHAR, &H4B, 5)
   End Sub
End Class


Saludos.
Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate