- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C++で開発するのですが、できるのかどうか解りません。)
C++で開発する際の注意点と質問
このQ&Aのポイント
- C++で開発する際の注意点と質問をまとめています。
- Windows 2000 ServerとC++Builderを使用して開発します。
- 子スレッドの終了を親スレッドが検知する方法や、別のEXEにWindowMessageを送信する方法、共有メモリとレジストリの性能比較、共有メモリのファイルマッピングに関する質問があります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>2.についてですが、exeはサービスとして動作する為、画面を持ちません。 >画面がないと無理ということですか 送信元、送信先のどちらがサービスなのでしょうか? 送信元はウィンドウがなくてもかまいません。 送信先にはウィンドウが必要です。ただし、非表示でもかまいません。(メッセージを受けるだけ) 非表示のウィンドウもNGであれば、メッセージではなくパイプなどを使用したプロセス間通信が必要になります。
その他の回答 (1)
- taka_tetsu
- ベストアンサー率65% (1020/1553)
回答No.1
はっきりとした前提条件の記述がないのでこれでいいのか分かりませんが・・・ 1.可能です。 WaitForSingleObject()などの待機関数を使用します。 2.対象のEXEにウィンドウが存在すれば、可能です。 PostMessage()やSendMessage()を使用します。 3.レジストリはデータベースと同様なものです。 単純にメモリを読むよりはDBは遅いですよね? ただし、単純にメモリに格納するだけでは格納位置などの情報を保持しなければいけないということを念頭においてください。 4.DLL中であれば、ファイルマッピングしなくてもプロセス間のメモリ共有は可能です。 ただし、共有を行いたいメモリ領域に対して特別な宣言を必要とします。 コンパイラ依存部分なので、私はC++Builderを使ったことがないので詳しくは説明できませんが。
補足
2.についてですが、exeはサービスとして動作する為、画面を持ちません。 画面がないと無理ということですか? その他については、回答ありがとうございました。