Option Explicit
 
Private Sub Command1_Click()
    Dim lnghWnd As Long       'トップレベル(親)のウィンドウハンドル
    Dim lnghWndTarget As Long 'ターゲット(子)のウィンドウハンドル
    Dim lngRc As Long         'APIの返却値
     
    '-------------------------------------
    ' メモ帳を起動
    '-------------------------------------
    lngRc = Shell(Environ("WINDIR") & "\NOTEPAD.EXE", vbNormalFocus) '起動
    Sleep 100               '0.1秒待つ(起動完了)
     
    '-------------------------------------
    ' ターゲットウィンドウのハンドルを取得
    '-------------------------------------
    lnghWnd = FindWindowEx(0, 0, "Notepad", "無題 - メモ帳") '「メモ帳」のウィンドウハンドル
    lnghWndTarget = FindWindowEx(lnghWnd, 0, "Edit", "") '子ウィンドウのEdit
     
    '-------------------------------------
    ' 送信
    '-------------------------------------
    Dim strDt As String
 
    '-------------------------------------
    ' 1文字ずつ送信 50ミリ(0.05)秒間隔
    '-------------------------------------
    Dim lngDt As Long
    Dim i As Long
     
    For i = 1 To Len(Text1.Text)                '1文字
        strDt = Mid(Text1.Text, i, 1)               '改行文字を復元
        lngDt = Asc(strDt)  'ASCIIコードに変換
        lngRc = SendMessage(lnghWndTarget, WM_IME_CHAR, lngDt, 0)   '1文字送信
        Sleep 50    '指定ミリ秒待つ
    Next i
     
'    '-------------------------------
'    ' 全ての文字を一度に送信する場合は
'    ' 下記のようにする。
'    '-------------------------------
'    lngRc = SendMessageAny(lnghWndTarget, WM_SETTEXT, 0, ByValText1.Text)
 
     
End Sub
 
 
Private Sub Form_Load()
    Text1.Text = "SendMessage を使った「メモ帳」への入力" & vbCrLf & _
                "1文字0.1秒" & vbCrLf & _
                vbCrLf & _
                "寿限無、寿限無" & vbCrLf & _
                "五劫の擦り切れ" & vbCrLf & _
                "海砂利水魚の" & vbCrLf & _
                "水行末 雲来末 風来末" & vbCrLf & _
                "食う寝る処に住む処" & vbCrLf & _
                "やぶら小路の藪柑子" & vbCrLf & _
                "パイポパイポ パイポのシューリンガン" & vbCrLf & _
                "シューリンガンのグーリンダイ" & vbCrLf & _
                "グーリンダイのポンポコピーのポンポコナーの" & vbCrLf & _
                "長久命の長助"
End Sub
 
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    End
End Sub