Option Strict Off Option Explicit On Friend Class Form1 Inherits System.Windows.Forms.Form Private Sub Command1_Click(ByVal eventSender As System.Object, _ ByVal eventArgs As System.EventArgs) Handles Command1.Click Dim lngRc As Integer 'APIの返却値 Command1.Enabled = False 'ボタンを無効 '------------------------------------- ' メモ帳を起動 '------------------------------------- lngRc = Shell(Environ("WINDIR") & "\NOTEPAD.EXE", AppWinStyle.NormalFocus) '起動 System.Threading.Thread.Sleep(100) '0.1秒待つ(起動完了) '------------------------------------- ' 送信 '------------------------------------- Dim strDt As String '------------------------------------- ' 1文字ずつ送信 50ミリ(0.05)秒間隔 '------------------------------------- Dim i As Integer strDtSrc = Replace(Text1.Text, vbCrLf, Chr(&H1s)) '改行変換 For i = 1 To Len(strDtSrc) '文字数分繰り返す strDt = Replace(Mid(strDtSrc, i, 1), Chr(&H1s), vbCrLf) '改行文字を復元 My.Computer.Clipboard.Clear() 'クリップボードをクリア My.Computer.Clipboard.SetText(strDt) 'クリップボードにコピー Call KeyEvent(VK_CTRL, KEY_DOWN) 'コントロールキーを押下 System.Threading.Thread.Sleep(1) '指定ミリ秒待つ Call KeyEvent(VK_V, KEY_DOWN) '「v」キー押下(貼り付け) System.Threading.Thread.Sleep(1) '指定ミリ秒待つ Call KeyEvent(VK_V, KEY_UP) '「v」キーを離す System.Threading.Thread.Sleep(2) '指定ミリ秒待つ Call KeyEvent(VK_CTRL, KEY_UP) 'コントロールキーを離す System.Threading.Thread.Sleep(50) '指定ミリ秒待つ Next i ' '------------------------------- ' ' 全ての文字を一度に送信する場合は ' ' 下記のようにする。 ' '------------------------------- ' Clipboard.Clear 'クリップボードをクリア ' Clipboard.SetText strDt 'クリップボードにコピー ' Call KeyEvent(VK_CTRL, KEY_DOWN) 'コントロールキーを押下 ' Call KeyEvent(VK_V, KEY_DOWN) '「v」キー押下(貼り付け) ' Call KeyEvent(VK_V, KEY_UP) '「v」キーを離す ' Call KeyEvent(VK_CTRL, KEY_UP) 'コントロールキーを離す Command1.Enabled = True 'ボタンを有効 End Sub Private Sub Form1_Load(ByVal eventSender As System.Object, _ ByVal eventArgs As System.EventArgs) Handles MyBase.Load Text1.Text = "SendInput を使った「メモ帳」への入力" & vbCrLf & _ "1文字0.05秒" & vbCrLf & vbCrLf & _ "寿限無、寿限無" & vbCrLf & _ "五劫の擦り切れ" & vbCrLf & _ "海砂利水魚の" & vbCrLf & _ "水行末 雲来末 風来末" & vbCrLf & _ "食う寝る処に住む処" & vbCrLf & _ "やぶら小路の藪柑子" & vbCrLf & _ "パイポパイポ パイポのシューリンガン" & vbCrLf & _ "シューリンガンのグーリンダイ" & vbCrLf & _ "グーリンダイのポンポコピーのポンポコナーの" & vbCrLf & _ "長久命の長助" Command1.Text = "開始" End Sub Private Sub Form1_FormClosing(ByVal eventSender As System.Object, _ ByVal eventArgs As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Dim Cancel As Boolean = eventArgs.Cancel Dim UnloadMode As System.Windows.Forms.CloseReason = eventArgs.CloseReason End eventArgs.Cancel = Cancel End Sub End Class