以前に作業した内容であるが、
こちらにUPしていなかったので、
メモ的にUP。
Windowsアプリ開発(VisualC++6.0)で、
コンソールアプリをGUIから制御する必要があったので、
試行錯誤、コンソールアプリの処理結果を取得するだけなら比較的簡単だが、
リアルに制御しようとすると、ちょっと面倒だった。
と、いうか、いままで避けて通ってきた道なので、
一から勉強。
試行錯誤の結果はソースに反映されているので、
とりあえず、作業中のメモからキーワードを抜き出し。
・コンソールアプリをDialogを起動して作業するなら、モードレスダイアログ。
モーダルダイアログはメッセージの処理が面倒。
・コンソールアプリの起動。
CreateThreadで起動したスレッドから、CreateProcessでコマンドを実行。
・コンソールアプリとのやりとりはPipe。
Pipeを標準入出力と結びつけて処理。
・Pipeの処理は入力、出力ともにThreadで処理。
・データの受け渡しは、グローバル変数でOK。
普通にグローバル変数で制御OKだった。
スレッドの制御はint型のSwitch。
やりとりはCString型の文字列。
文字列のやりとりには、LockBufferでブロックの処理はしとく。
しないと文字列がぐちゃぐちゃになる。
と、言った感じ。
また不明点などあれば、コメントでもいただければ。