TODOPIC
Lenguajes de programación para PC => Visual Basic => Mensaje iniciado por: groundman en 01 de Mayo de 2009, 14:49:07
-
hola.quiero hacer algo que quizas sea bastante dificil si no imposible.
quiero subir y bajar el brillo de una pda desde una comunicacion serie.pero no se manejar el registro de windows para esta funcion.entonces he optado por controlar un programa que sirve para ejecutar aplicaciones y eventos haciendo clic en los botones de la pda ya preconfigurados.este es el programa:
"AE Button Plus v2.6.6.1" es gratuito y facil de encontrar en google.
entonces se me ha ocurrido realizar un programa en vbasic.pero lo mas que se hacer al respecto es capturar los datos del evento clic de los botones de la pda.
pero no se como forzar la emulacion de la pulsacion de una tecla.
he insertado un boton en el formulario.y que cuando se produzca el evento clic,realize el evento clic de otro boton.pero claro esta no funciona.
como se podria hacer esto?
hay algun modulo para realizar pulsaciones de teclas?
-
¿No te sirve el comando SendKeys?
-
hola nocturno.el valor de e.keycode para el boton derecho es 39.
pero no me sale ese comando en vb8 para smart device.seria algo como SendKeys=39.y emularia la pulsacion de la tecla.pero no se porque no funciona.
-
Hola groundman. Hay una llamada a la WinAPI que se llama "mouse_event" y que te permite controlar el mouse. También podrías hacerlo con la llamada "sendmessage". Por ahi en la web encontras algun ejemplo.
Un saludo.
-
gracias por vuestra ayuda.al final buscando buscando.con pedazos de aqui y alli logre realizar lo que queria.
por eso pongo el codigo de un programa que he hecho:
su funcion son cuatro botones.arriva,abajo,derecha e izquierda.y al pulsarlos se realiza la pulsacion de las teclas up,down,right,left.y que a la vez visualiza el codigo ascii de la tecla pulsada en un cuadro de texto.
Public Class Form1
Public Declare Sub keybd_event Lib "coredll.dll" (ByVal bVK As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtrainfo As Long)
Const VK_LEFT = &H25 'valores ascii de las teclas
Const VK_UP = &H26
Const VK_RIGHT = &H27
Const VK_DOWN = &H28
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
keybd_event(VK_UP, 0, 0, 0)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
keybd_event(VK_LEFT, 0, 0, 0)
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
keybd_event(VK_RIGHT, 0, 0, 0)
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
keybd_event(VK_DOWN, 0, 0, 0)
End Sub
Private Sub Form1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
If (e.KeyCode = System.Windows.Forms.Keys.Up) Then
TextBox1.Text = e.KeyCode
'Up
End If
If (e.KeyCode = System.Windows.Forms.Keys.Down) Then
TextBox1.Text = e.KeyCode
'Down
End If
If (e.KeyCode = System.Windows.Forms.Keys.Left) Then
TextBox1.Text = e.KeyCode
'Left
End If
If (e.KeyCode = System.Windows.Forms.Keys.Right) Then
TextBox1.Text = e.KeyCode
'Right
End If
If (e.KeyCode = System.Windows.Forms.Keys.Enter) Then
TextBox1.Text = e.KeyCode
'Enter
End If
End Sub
End Class