ページ 11

ウィンドウからウィンドウに命令を飛ばしたい

Posted: 2011年4月10日(日) 00:19
by マカロニ
お世話になっております。
こういう処理をしたいのですが、どこから勉強していいか解らず困っています。

ウィンドウ A( キャラクタ表示)
ウィンドウ B( スクロールバー、ボタン等を表示、動かしたぞ、という処理をウィンドウAにリアルタイムに送りたい)
ウィンドウは別々に分離していて どっちも A.exe, B.exeとばらばらに起動
できるようにしたいのです。

C++で作っていこうかと思っています、Visual Basicとかで作る事になるのでしょうか?
アドバイスお願いします。

Re: ウィンドウからウィンドウに命令を飛ばしたい

Posted: 2011年4月10日(日) 06:33
by bitter_fox
マカロニ さんが書きました: C++で作っていこうかと思っています、Visual Basicとかで作る事になるのでしょうか?
C++でも十分に可能です。
マカロニ さんが書きました: こういう処理をしたいのですが、どこから勉強していいか解らず困っています。

ウィンドウ A( キャラクタ表示)
ウィンドウ B( スクロールバー、ボタン等を表示、動かしたぞ、という処理をウィンドウAにリアルタイムに送りたい)
ウィンドウは別々に分離していて どっちも A.exe, B.exeとばらばらに起動
できるようにしたいのです。
GUIプログラムはC++(C言語)では、主にSDKというライブラリを利用して作成されます。(MFCと呼ばれるライブラリもありますがこちらはVisualStudio ProfessionalEdition以上にしか含まれていません。)
ですので、まだ勉強になられてないのであればSDKを利用したプログラミングを勉強する必要があります。
http://homepage2.nifty.com/c_lang/index_sdk.html
http://wisdom.sakura.ne.jp/system/winap ... index.html

[hr]
次にこのプログラムの実現方法ですが、ウィンドウにメッセージを送ることで実現できるかと思います。(参考リンク先(一つ目)ではHSPを利用して説明されていますがC言語もしくはC++でも可能です。)
http://yokohama.cool.ne.jp/chokuto/adva ... ssage.html
http://wisdom.sakura.ne.jp/system/winap ... win52.html

ただ別プロセスとのことですので、ポインタを渡すとランタイムエラーになってしまいます。(実際はそのポインタ先にアクセスした際)
この点に関しては、次のようにして配慮する必要があります。(参考リンク先ではHSPを利用して説明されていますがC言語もしくはC++でも可能です。)
http://yokohama.cool.ne.jp/chokuto/adva ... ydata.html

[hr][追記]
メッセージを送るためにウィンドウハンドルを取得しなければいけません。
これは上から五つ目のURL先で解説されているので参考にしてください。

Re: ウィンドウからウィンドウに命令を飛ばしたい

Posted: 2011年4月10日(日) 12:00
by マカロニ
アドバイスありがとうございます。
visual studioについているフォーム作成機能から、さらに発展していくだろうと
本をあさっていたのですが全然違ったのですね・・・本当助かりました。
リンク先参考にさせていたただきます!。