2011-08-08 9 views
0

C++プログラムを別のプログラムとやりとりし、クリックしたものと対話する方法を正確にするにはどうすればいいですか?C++プログラムをマウスクリックやX Window Systemアプリケーションと対話させる方法は?

例:MSN自動返信プログラムを作成したいと思ったら、入力する内容を尋ねるダイアログボックスが表示され、プログラムがMSNチャットボックスに貼り付けることになります。

+0

参考までに、すでに自動返信をサポートしているMSNの拡張機能があります。http://www.msgplus.net/フォーラムで質問することができますか? – darvids0n

+0

MSN拡張機能を作成するのは実際のところではありません。私はC++をxプログラムとやりとりする方法を尋ねています。 – BobYule

+0

私のコメントは、実際にMSN拡張を行うことについてのものではありませんでした。私はちょうど、それはすでに書かれたような相互作用のフリーウェアの一部だと言っています。たとえば、MsgPlusの自動応答スクリプトは次のとおりです。http://www.msghelp.net/showthread.php?tid=94948&pid=997399#pid997399ウィンドウハンドルとマッピングキーストロークを見つけるためのuser32.dllの使用方法がありますこれはおそらくあなたがC++でやっている方法です)。 – darvids0n

答えて

1

それは

他のアプローチを注入するだろう(...し、それらについて読んで)それ自体でXは、あなたがこれを行うことはできませんが、あなたはXTEST拡張をインストールすることによってそれを可能にすることができることが判明しましたオペレーティング・システムのキーボード/マウス・レベルでのイベント、またはターゲット・プログラムの既存のインターフェースまたはパッチ・イン・イン・インターフェースを使用することができます。 unix-ishツールの多くは、stdin上でコマンド入力を受け入れるように設定することも、スクリプティングの目的でコマンドラインオプションを使って多くのことを達成することもできます。

+0

独自のウィンドウマネージャーを作成した場合はどうなりますか? –

+0

"Xはそれだけではできません":実際はそうです。うんざりしたXLib(または少し不快な 'xcb')を使わなければならないでしょうが、ポイントはウィンドウリストを照会してウィンドウにイベントを送ることができる点です。私はちょうど今XLibを見始めているので、私は正確な答えを投稿することはできませんが、私はそれができると確信しています。問題は、ボタンとは何かを理解するのが難しいことです。 –

+0

@Alexandre C.これは、固定された位置のマウスクリックやキーイベントを別のプロセスのウィンドウに単に渡したサンプルコードに興味があります。これは、過去の調査で見つけたすべてのものとは逆です。 –

関連する問題