0

既存の C++ win32 コンソール アプリがあります。このアプリケーションには、ハードウェアからの一部のデータをリアルタイムで継続的に処理するメイン プログラムが含まれており、データをクライアントにストリーミングするためのサーバー コンポーネント (スレッド化) があります。

このコンソール プログラムを実行する前に、ユーザーがいくつかのプログラム パラメータを入力するための GUI を作成することが可能かどうかを考えています。GUI は、コンソール プログラムのステータスのみを表示することを目的としています。ユーザーが [スタート] ボタンをクリックした後、ユーザーの操作は必要ありません。

これが可能かどうかアドバイスはありますか?ありがとう!

4

4 に答える 4

3

もちろん、ウィンドウ メッセージ ループを含むスレッドを作成するだけで完了です。既存のコードの正確な詳細に応じて、別の方法を考えることができますが、これには、説明するものに対して別のスレッドが必要になる可能性があります。

逆の場合も同様です。GUI アプリはコンソールを作成して、コンソールに出力することもできます。

于 2012-04-09T01:37:46.893 に答える
1

手早く汚い方法 - 任意のツールキット (Qt、Gtk、Windows API など) で GUI を作成し、標準のsystem(const char *)関数を使用します。

多くのフロント エンドが存在するため、Nmap は重要なトピックです。そのため、ソースを掘り下げて、コンソール アプリケーションのフロント エンドをどのように作成したかを確認することに興味があるかもしれません。

于 2012-04-09T01:48:54.237 に答える
1

コンソール アプリケーションは、ユーザーの操作なしでバッチ スクリプトから実行できるように、テキスト ファイルを使用して構成するのが一般的です。設定ファイルはパラメータで指定できます。

これがあれば、GUI 構成エディターとランチャーを作成するのは簡単です。監視プログラムは、プロセスが終了したとき、またはコンソール出力に何かが表示されたときに報告する通知領域アイコンにするのがおそらく最適です。

于 2012-04-09T02:04:20.067 に答える
0

私がGUIにプロセスを実装する方法(残念ながらGUIを含む設計について考えていなかったとき)は、グローバル変数を使用して、1つはアプリケーションのコードを実行し、もう1つはGUI用のposixスレッドプロセスを使用することでした。 (ハッキー)親(親は2つの子プロセスを実行)によって一方向に共有されるため(競合状態が発生しないようにするため)、1つの変数はプロセス用に書き込まれ、GUI用に読み取られ、別の変数は次のように読み取られます。プロセス、GUI用に記述します。

ビジー待機(不良)を使用して情報と状態の変化を待機し、各ビジー待機ループ間をホップするように、処理coeを書き直す必要がありました。ビジー待機状態の変更は、実装にそれほど時間はかかりませんでした。

これは実際には最適な方法ではなく(これは非常にハッキーでした)、GUIは、後で「タックオン」するのではなく、最初からコードに組み込む必要があります。しかし、これは私にとってはうまくいき、GUIは最後の最後の追加で驚くほどうまくいきました。

于 2012-08-27T19:44:39.153 に答える