Tendrías que utiizar primero BringWindowToTop y luego keybd_event y primero localizar la ventana con FindWindow:
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function BringWindowToTop Lib "user32" (ByVal hwnd As Long) As Long
Public Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Dim lngHwnd As Long, strProv As String, i As Long
Shell "notepad"
Sleep 30000
lngHwnd = FindWindow("Notepad", "Untitled - Notepad")
BringWindowToTop lngHwnd
strProv = "Hola"
For i = 1 To Len(strProv)
keybd_event Asc(Mid(strProv, i, 1)), 0, 0, 0
keybd_event Asc(Mid(strProv, i, 1)), 0, KEYEVENTF_KEYUP, 0
Next i