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