1

C++ MFC ベースの Visual Studio で Server Socket のプロジェクトを行いました。プロジェクトをデバッグした後、サーバー GUI が開き、サーバー GUI の [接続] ボタンをクリックするとクライアントをそのサーバーに接続できます。

今、そのサーバーのexeファイルを他のコンピューターで使用したいと考えています。そのため、そのコンピューターが起動するたびに、そのサーバー exe が自動的に起動します。そのため、デバッグ後にサーバーGUIが開き、自動的に接続されるように、接続ボタンを無効にする必要があります。しかし、サーバーGUIが自動起動時に別のコンピューターでも開かれることは望ましくありません。そのサーバー GUI を無効にしたい。

私はそれに取り組むためのモーダルレスダイアログのアイデアを得ました。それは良いですか、それともどのアプローチを使用する必要がありますか?

4

2 に答える 2

3

おそらく、アプリケーションの GUI 部分とサーバー部分を分離したいと思うでしょう。理想的には、サーバーが実際にサーバーである場合は、サービスとして開始する必要があります。次に、それを制御するための別の GUI ツールがあります。

もう 1 つの方法は、GUI を有効または無効にしてサーバーを起動するかどうかを決定するコマンド ライン引数を使用することです。

于 2012-10-25T09:15:21.180 に答える
1

このようなアプリケーションの唯一のプロフェッショナルで安定したソリューションは、サービス コントロールの制御下に置くコンソール部分と、ユーザーが必要なときに開始できる GUI 部分に分割することです。

私はあなたのような解決策を試したので、私自身の経験から、あなたは多くの問題に直面するだろうと言えます.

ただし、可能な解決策は、ウィンドウを非表示にしてアプリをシステムトレイに配置することですこれは、ウィンドウを妨げることに関する非常に興味深い議論です。

さらに、MFC の場合には 2 つの良いアドバイスがあります。

  1. MFC がバックグラウンドで何をしているか (Win32api) を知らずに、コードを単に "コピー アンド ペースト" することは決してありません。
  2. MFC を使用しないでください。ウィンドウが必要な場合は、QT または wxWidges をよく見てください。win32api のカプセル化をショートカットするには、boost ライブラリも参照してください。あなたが費やす時間は本当に価値があります!

幸運を!

于 2012-10-25T11:28:24.173 に答える