問題のあるサードパーティの DLL をラップする小さなコンソール アプリケーションを作成しました。_popenを使用して GUI アプリケーションから呼び出しており、コンソール プログラムの標準出力から値を読み取りたいだけです。その際、望ましくないコンソール ウィンドウが短時間表示されます。
これは、CreateProcess で特定の STARTUPINFO 構成を使用することで回避できることを認識しています。ただし、コンソール アプリケーションに修正を加えて、引き続き _popen を使用したいと考えています。Windows サブシステム (メインではなく WinMain) を使用して子プロセスを作成しても、コンソール ウィンドウは消えません。どうやら、_popen 通信を容易にするために、オペレーティング システムによってコンソールが割り当てられているようです。
サードパーティの DLL は不安定ですが、独自のハードウェアとのインターフェイスに必要であることに注意してください。したがって、DLL を GUI アプリケーションのメモリ空間にロードする方法は受け入れられません。