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