elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  VB 2008 - ayuda para insertar una tecla?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: VB 2008 - ayuda para insertar una tecla?  (Leído 2,690 veces)
VanX
Wiki

Desconectado Desconectado

Mensajes: 222



Ver Perfil WWW
VB 2008 - ayuda para insertar una tecla?
« en: 17 Abril 2012, 18:50 pm »

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!


En línea

kub0x
Enlightenment Seeker
Moderador
***
Desconectado Desconectado

Mensajes: 1.486


S3C M4NI4C


Ver Perfil
Re: VB 2008 - ayuda para insertar una tecla?
« Respuesta #1 en: 18 Abril 2012, 12:49 pm »

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
  1. Imports System.Runtime.InteropServices
  2.  
  3. Public Class Form1
  4.    Public Const WM_CHAR = &H102
  5.    <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
  6.    Private Shared Function SendMessage(ByVal hWnd As IntPtr, ByVal Msg As UInteger, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As IntPtr
  7.    End Function
  8.    <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
  9.    Private Shared Function FindWindowEx(ByVal parentHandle As IntPtr, _
  10.                      ByVal childAfter As IntPtr, _
  11.                      ByVal lclassName As String, _
  12.                      ByVal windowTitle As String) As IntPtr
  13.    End Function
  14.  
  15.    <DllImport("user32.dll", EntryPoint:="FindWindow", SetLastError:=True, CharSet:=CharSet.Auto)> _
  16.    Private Shared Function FindWindowByClass( _
  17.     ByVal lpClassName As String, _
  18.     ByVal zero As IntPtr) As IntPtr
  19.    End Function
  20.  
  21.    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
  22.        Dim hWndPadre As IntPtr = FindWindowByClass("Notepad", IntPtr.Zero)
  23.        Dim Handle As IntPtr = FindWindowEx(hWndPadre, IntPtr.Zero, "Edit", Nothing)
  24.        SendMessage(Handle, WM_CHAR, &H4B, 5)
  25.    End Sub
  26. End Class
  27.  

Saludos.


En línea

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

Visita mi perfil en ResearchGate

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines