C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: 別アプリへの文字の貼り付け


(過去ログ 103 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■61683 / inTopicNo.1)  別アプリへの文字の貼り付け
  
□投稿者/ まぐまぐ (1回)-(2011/08/27(Sat) 15:10:14)

分類:[VB.NET/VB2005 以降] 

VB2010で別アプリを動かしています。
それで文字記入欄に指定の文字を貼り付けたいのですがやり方がわかりません。

別アプリのID、パスワード記入欄に
VB2010で別アプリのID欄に「ABC」と貼り付けるプログラムを作りたくて
調べてみたもののよくわかりません。

アドバイスいただけないでしょうか?
VB初心者です。
よろしくお願いいたします。
引用返信 編集キー/
■61685 / inTopicNo.2)  Re[1]: 別アプリへの文字の貼り付け
□投稿者/ 魔界の仮面弁士 (2337回)-(2011/08/27(Sat) 15:43:28)
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 が使えるかも。


> アドバイスいただけないでしょうか?
とりあえず、現状の情報からわかる範囲で回答してみましたが、より詳細な内容が必要であれば、
何というアプリのどの部分を制御したいのかといった、具体的な内容を記述してみてください。
引用返信 編集キー/
■61686 / inTopicNo.3)  Re[2]: 別アプリへの文字の貼り付け
□投稿者/ まぐまぐ (2回)-(2011/08/27(Sat) 19:01:20)
回答ありがとうございます。
アプリというのはゲームアプリです。
FindWindowEx API + SetForegroundWindow APIを使ってゲームアプリにキー入力などは送ってます。
ウィンドウをアクティブにすることは問題ありません。

ただ文字入力欄に「ABC」と貼り付けたいのですがその部分だけが書き方がわかりません。

うまく伝わってないかもしれませんが・・・。

引用返信 編集キー/
■61688 / inTopicNo.4)  Re[3]: 別アプリへの文字の貼り付け
□投稿者/ Azulean (829回)-(2011/08/27(Sat) 21:57:25)
No61686 (まぐまぐ さん) に返信
> ただ文字入力欄に「ABC」と貼り付けたいのですがその部分だけが書き方がわかりません。

単純には、同じように ABC とキーの入力を送りつければよいのでは?
どういったことを試して、うまくいかないのか、困っているのか、もう少し具体的にしなければ伝わりません。

# 技術的な可否はゲームの実装にもよります。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -