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:
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.