Discussion:
プロセス間通信アプリケーション応答なし
(too old to reply)
C#Sharp.com
2005-07-29 11:46:02 UTC
Permalink
お世話になります。
下記現象が発生しております。

プロセス間通信で、
a.exe は b.exe に対し、
handle=FindMessge("クラス名","ウィンドウ名");
SendMessage((IntPtr )handle,WM_COMMAND,(IntPtr )IDC_MENU,ref st);
しています。
b.exeのボタンを押して、ウィンドウを開いています。
しかし、ウィンドウは開くことが可能ですが、a.exeのウィンドウが、応答なしになってしまい、操作できなくなってしまいます。

原因がわかりません。
a.exe、b.exe共に応答なしにならずに動作させることは可能でしょうか?

以上、よろしくお願いします。
C#Sharp.com
2005-07-29 12:05:03 UTC
Permalink
下記の件、追記します。
a.exeからb.exeのボタンを押して、開いたウィンドウを閉じると
a.exeの制御が可能となります。

以上、よろしくお願いします。
Post by C#Sharp.com
お世話になります。
下記現象が発生しております。
プロセス間通信で、
a.exe は b.exe に対し、
handle=FindMessge("クラス名","ウィンドウ名");
SendMessage((IntPtr )handle,WM_COMMAND,(IntPtr )IDC_MENU,ref st);
しています。
b.exeのボタンを押して、ウィンドウを開いています。
しかし、ウィンドウは開くことが可能ですが、a.exeのウィンドウが、応答なしになってしまい、操作できなくなってしまいます。
原因がわかりません。
a.exe、b.exe共に応答なしにならずに動作させることは可能でしょうか?
以上、よろしくお願いします。
Kaoru Kodaka
2005-07-29 12:24:24 UTC
Permalink
$B$+$*$/(B $B$G$9!#(B

On Fri, 29 Jul 2005 04:46:02 -0700
a.exe $B$O(B b.exe $B$KBP$7!"(B
handle=FindMessge("$B%/%i%9L>(B","$B%&%#%s%I%&L>(B");
SendMessage((IntPtr )handle,WM_COMMAND,(IntPtr )IDC_MENU,ref st);
$B$7$F$$$^$9!#(B
$B2?$rL\E*$H$7$F!"$3$NA`:n$r$7$F$$$k$N$G$7$g$&$+!)(B
b.exe$B$N%\%?%s$r2!$7$F!"%&%#%s%I%&$r3+$$$F$$$^$9!#(B
SendMessage() $B$N8e$G$9$+!)(B
a.exe$B!"(Bb.exe$B6&$K1~Ez$J$7$K$J$i$:$KF0:n$5$;$k$3$H$O2DG=$G$7$g$&$+!)(B
Post $B$7$F$_$k$H$+!#(B

---
MVP kaok = MVP.ChangeMvpCategory("for C# 2004-2006.");
kaok.Web = "http://www.antoine.st/";
C#Sharp.com
2005-08-02 04:18:01 UTC
Permalink
お世話になります。
Post by C#Sharp.com
a.exe は b.exe に対し、
handle=FindMessge("クラス名","ウィンドウ名");
SendMessage((IntPtr )handle,WM_COMMAND,(IntPtr )IDC_MENU,ref st);
しています。
何を目的として、この操作をしているのでしょうか?
C言語のアプリとC#で書かれたアプリがあり、機能的に統合させようとしましたが
出来なかった為です。
Post by C#Sharp.com
b.exeのボタンを押して、ウィンドウを開いています。
SendMessage() の後ですか?
Post by C#Sharp.com
a.exe、b.exe共に応答なしにならずに動作させることは可能でしょうか?
Post してみるとか。
初心者で申し訳ありません。Postでいけました。

ANDO Koji
2005-08-01 03:10:47 UTC
Permalink
 安藤@大分です。

"C#Sharp.com" <***@discussions.microsoft.com>
wrote in message news:8919952B-7178-4A2E-8796-***@microsoft.com...

>b.exeのボタンを押して、ウィンドウを開いています。
>しかし、ウィンドウは開くことが可能ですが、a.exeのウィンドウが、
>応答なしになってしまい、操作できなくなってしまいます。

 SendMessageは受信したウィンドウの、処理が終わらないと制御を
戻しません。

 かおくさんもおっしゃるように、PostMessageで送ってみてはいかがでしょう。
 しかしこの場合は必要に応じて同期を取る必要が出てきますが。
--
$ 安藤 幸治(ANDO Koji)
$ http://rc30.jp/
$ http://www.users.gr.jp/blogs/ando/
Loading...