DOBON.NETプログラミング掲示板過去ログ
.NETでのWindowメッセージ通信
題名: .NETでのWindowメッセージ通信
著者: 初心者ぱんだ
日時: 2005/01/22 16:04:55
ID: 8612
この記事の返信元:
(なし)
この記事への返信:
[8616]
Re[1]: .NETでのWindowメッセージ通信
じゃんぬねっと
2005/01/22 16:18:10
ツリーを表示
環境/言語:[OS : Windows 2000 Professional / 言語 : C# / .NET Framework : 2.0]
分類:[.NET]
【解決したい問題】
初めて質問させていただきます。
C++で作成したプログラムをC#(VS.NET使用)で書き直すことになりました。
このプログラムはWM_COPYDATAのWindowsメッセージ使ってプロセス間通信を行うのですが、以下の条件があります。
・ウィンドウは常に非表示(タスクトレイアイコンも含めて非表示)
メッセージ送受信だけを行うウィンドウであるため
・自ウィンドウハンドルにアクセスできること
接続相手に自ウィンドウハンドルを送信する必要があるため
自分なりに、Formクラス、NativeWindowクラス(MSDNのNativeWindowクラス
に関するページに掲載されていたサンプルを見ながら)を使ったりしながら
作成してみましたが、メッセージポンプ作成のためにApplication.Run(Form)
を実施すると、どうしてもウィンドウが表示されてしまいます。
Formクラス指定なしのApplication.Run()だと、ウィンドウハンドルに
アクセスできないようですし・・・。
何とか.NETクラスライブラリで実現したいと思っているのですが、このような仕様だとWin32 API(RegisterClass, CreateWindow等)を使用しないと
無理なのでしょうか?
よろしくお願いします。
【解決するために何をしたか】
・NativeWindowクラスのサンプル
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemwindowsformsnativewindowclasstopic.asp
題名: Re[1]: .NETでのWindowメッセージ通信
著者: じゃんぬねっと
URL:
http://f57.aaa.livedoor.jp/~jeanne/
日時: 2005/01/22 16:18:10
ID: 8616
この記事の返信元:
[8612]
.NETでのWindowメッセージ通信
初心者ぱんだ
2005/01/22 16:04:55
この記事への返信:
[8618]
Re[2]: .NETでのWindowメッセージ通信
初心者ぱんだ
2005/01/22 19:34:43
[解決]
ツリーを表示
じゃんぬねっと です。
■No8612に返信(初心者ぱんださんの記事)
> 自分なりに、Formクラス、NativeWindowクラス(MSDNのNativeWindowクラス
> に関するページに掲載されていたサンプルを見ながら)を使ったりしながら
> 作成してみましたが、メッセージポンプ作成のためにApplication.Run(Form)
> を実施すると、どうしてもウィンドウが表示されてしまいます。
> Formクラス指定なしのApplication.Run()だと、ウィンドウハンドルに
> アクセスできないようですし・・・。
Handle の取得と非表示に関しては問題ないと思います。
C# だったら、難しく考えなくてもできそうな気が...
http://dobon.net/vb/dotnet/form/hideformwithtrayicon.html
# メッセージ送信については別問題ですが...
題名: Re[2]: .NETでのWindowメッセージ通信
著者: 初心者ぱんだ
日時: 2005/01/22 19:34:43
ID: 8618
この記事の返信元:
[8616]
Re[1]: .NETでのWindowメッセージ通信
じゃんぬねっと
2005/01/22 16:18:10
この記事への返信:
(なし)
ツリーを表示
じゃんぬねっとさん、ありがとうございます。
■No8616に返信(じゃんぬねっとさんの記事)
> Handle の取得と非表示に関しては問題ないと思います。
> C# だったら、難しく考えなくてもできそうな気が...
> http://dobon.net/vb/dotnet/form/hideformwithtrayicon.html
この記事を参考にして作成してみたら、今までの苦労は何だったので
しょうか、というくらい見事に成功しました。
タスクトレイにも表示したくなかったので、この記事は見てませんでした。
大変失礼しました。
> # メッセージ送信については別問題ですが...
こちらはWin32API のSendMessageを使ってます。
解決済み!
DOBON.NET
|
プログラミング道
|
プログラミング掲示板
分類:[.NET]
【解決したい問題】
初めて質問させていただきます。
C++で作成したプログラムをC#(VS.NET使用)で書き直すことになりました。
このプログラムはWM_COPYDATAのWindowsメッセージ使ってプロセス間通信を行うのですが、以下の条件があります。
・ウィンドウは常に非表示(タスクトレイアイコンも含めて非表示)
メッセージ送受信だけを行うウィンドウであるため
・自ウィンドウハンドルにアクセスできること
接続相手に自ウィンドウハンドルを送信する必要があるため
自分なりに、Formクラス、NativeWindowクラス(MSDNのNativeWindowクラス
に関するページに掲載されていたサンプルを見ながら)を使ったりしながら
作成してみましたが、メッセージポンプ作成のためにApplication.Run(Form)
を実施すると、どうしてもウィンドウが表示されてしまいます。
Formクラス指定なしのApplication.Run()だと、ウィンドウハンドルに
アクセスできないようですし・・・。
何とか.NETクラスライブラリで実現したいと思っているのですが、このような仕様だとWin32 API(RegisterClass, CreateWindow等)を使用しないと
無理なのでしょうか?
よろしくお願いします。
【解決するために何をしたか】
・NativeWindowクラスのサンプル
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemwindowsformsnativewindowclasstopic.asp