|
■No61683 (まぐまぐ さん) に返信 > 別アプリのID、パスワード記入欄に > VB2010で別アプリのID欄に「ABC」と貼り付けるプログラムを作りたくて > 調べてみたもののよくわかりません。
その別アプリの何について調べたのか、分かった事だけでも提示してもらえると答えやすいです。
たとえば IE の場合、HTML 文書中のテキスト欄などにアクセスできるよう、HTMLDocument オブジェクトを 用意しています。あるいは Excel の場合は、DDE や OLEオートメーションといった方法で、 外部からの操作を受け付けるようになっています。メモ帳のテキストボックスであれば、 SendMessage API で WM_SETTEXT メッセージを送出すれば、文字列を書きこむことができるでしょう。
――このように、アプリケーションが異なればそれを制御するための方法もまた異なってきますので、 それぞれに応じたコーディングを施していく必要があります。
また、アプリケーションを特定できない場合の代替策としては、ユーザーからのキーボード操作を、 プログラムでエミュレートするという手もあります。ただし上記に挙げた手法などと比べると、 操作対象となるウィンドウをアクティブにしておく必要があるといった動作制限が加わりますけれどね。 (ちなみに目的のウィンドウをアクティブにするには、VB.NET の AppActivate を使う方法や、 FindWindowEx API + SetForegroundWindow APIを使うといった方法があります)
キー入力を送出する方法としてもっとも単純なのは、 SendKeys クラスを用いることです。 使い方はヘルプ等で調べてみてください。それでは駄目な場合には、SendInput API が使えるかも。
> アドバイスいただけないでしょうか? とりあえず、現状の情報からわかる範囲で回答してみましたが、より詳細な内容が必要であれば、 何というアプリのどの部分を制御したいのかといった、具体的な内容を記述してみてください。
|