- 題名: exeどうしの値渡し
- 日時: 2007/05/16 18:29:31
- ID: 19691
- この記事の返信元:
- (なし)
- この記事への返信:
- [19694] Re[1]: exeどうしの値渡し2007/05/17 3:23:46
- ツリーを表示
■No19702に返信(彩さんの記事) > 一応、いろいろとあり、SendMessageを使用する事になりました。 > しかし、よく分からずじまいで、一応それなりのものを書いたのですが、 > 全然動きません。 「いろいろとあり」にどういった紆余曲折があったのかが気になります。 管理人さんも書かれていますが、リモート処理という正攻法があるわけですけど。 いまどき SendMessage という選択肢もかなり疑問が… SendMssage を使うなという意味ではないですが、休日のハイキングコースで冬 の富士山に登るようなものと考えてください。 > 作成中、勉強中に質問はあつかましいのですが、 > 現時点でのソースを見て、アドバイス頂けたら光栄です。 とりあえず斜め読みで。 ・ WndProc は(WM_COPYDATA 以外の)メッセージがくるたびに呼ばれるから、 毎回 textBox1.Text を書き換えてたらダメじゃん? ・ PtrToStructure しても、IntPtr が構造体にコピーされるだけじゃん?そこ から PtrToStringAuto でコピーなんてできないじゃん? (送信側で確保してるメモリは送信側のメモリ空間の中じゃん?) ・ そもそも (IntPtr)0x00170608 なんてやってる時点でダメじゃん? (受信側のウィンドウハンドルなんて起動するたびに変わるじゃん?) ・ つーかそれ以前になんで WM_COPYDATA なんて使っちゃうんじゃん? …総評としては。 SendMessage を使うには、Windows のメッセージ処理について知識不足が多すぎ る気がします。 (僕もそんなに詳しいわけじゃないですが) とりあえず管理人さんと一緒で、リモート処理をオススメしておきます。
分類:[.NET]
C#で、テキストボックスが一つある画面を作成しました。
それを一つのプロジェクトとし、exeにしました。
そのexeをクリックして立ち上げた状態で、
他のプロジェクトの処理のexeをクリックして立ち上げた場合、
このexeから最初の画面のテキストボックスの情報を取得という事は可能なのでしょうか?
(手短に言うと、exe間で値の受け渡しというのは可能なのでしょうか?)
いろいろな方法があるかもしれませんが、
今はテキストボックスに入力したら、ボタンを押させ、それをテキストファイルに書き込み、
そのテキストファイルを他のexeが読むというやり方をしてるのですが、
あまりスマートなやり方とは思っていません。
というよりかこのやり方しか分からないというのが現状です。
何でも良いのでこういうやり方やああいうやり方もあるよ、みたいなアドバイスが頂けたら光栄です。
よろしくお願いします。