他アプリへの文字入力  VisualBasic 6.0 Visual Basic 2008

他のアプリケーションの入力フィールドに、文字を入力する。

ここでは、SendKeys関数を使って

メモ帳に対して「寿限無」を1文字0.05秒間隔で送信。

メニュー
ロジック説明
API関数仕様
フォーム構成
 VB6ソース
 VB2008ソース
関連方式
リンクリスト


ロジック説明

1.メモ帳を起動(Shell
   メモ帳はウィンドウズのディレクトリの中のNotepad.exe
   ウィンドウズのパスはEnvironを用いて環境変数か ら取得

2.キー文字送信(SendKeys)
   SendKeysを使って1文字ずつ(0.05秒単位)で文字を送る。

API関数仕様

SendKeys関数

構文

SendKeys string[, wait]

指定項目 内容
string 必ず指定
転送するキー コードを表す文字列式を指定
wait 省略可能です。
ブール型 (Boolean) の値で指定

False(既定値):終了を待たずに次の行に制御を移す。

True:処理が終了するまで実行を一時中断

SendKeysの注意点

SendKeysを使い場合は、入力相手がキーボードフォーカスを 持っている必要がある。
入力対象のウィンドウが、たとえ最前面に表示されていてもアクティブ(≒ キーボードフォーカスを持つ)になっていない場合は正常に送られないので注意。

フォーム構成

フォーム上に下記に示すコントロールを配置します。
コントロール配置 実行イメージ

フォームを追加し、下記のコントロールを配置

コマンドボタン  1個
テキストボックス 1個
(MultiLine=Trueにしておく)

VB6ソースコードサンプル コードのダウンロード VB6.0

フォーム

説明

1文字ずつではなく、まとめて文字列を送りたい場合は、
18〜26行目をコメントにし、
32行目のコメント解除して下さい。

標準モジュール

VB2008ソースコード サンプル コードのダウンロード VB2008

フォーム


関連方式

他アプリへの文字入力0−SendKeys - 他アプリの入力フィールドに文字を入力
他アプリへの文字入力1−SendMessage - 同、SendMessage関数使用
他アプリへの文字入力2−SendInput - 同。SendInput関数使用
他アプリへの文字入力3−SendMessage 3 - 同、キーボードフォーカス対象

×
PageTop