C# 2.0 の Windows フォームまたはユーザー コントロールに DOS コンソールを埋め込むことはできますか?
Windows アプリが対話する必要がある従来の DOS 製品があり、Windows アプリケーション内で従来の製品のインスタンスを実行するように要求されました。
現在、user32.dll を使用して、DOS 製品が実行されているウィンドウを見つけ、ウィンドウを最小化してから最大化し、ウィンドウに文字を入力しています。これは、アプリケーションがウィンドウ名をアプリケーション設定に保存する必要があり、対話機能を使用する前にユーザーが DOS アプリの正しいページに戻る必要があることを意味するため、問題に対するあまり良い解決策ではありません。
編集:いくつかの詳細情報
レガシ アプリはユーザーに表示される必要がありますが、別のウィンドウでは表示されません。
私はTimothyPの答えを試してみましたが、非常にうまく機能しますが、同じ機能を実現することは可能ですが、独自のウィンドウにポップアップするのではなく、WindowsフォームまたはユーザーコントロールにDOSウィンドウを視覚的に埋め込んでいますか? できれば ShowDialog() の方法で、いわば「レガシー モード」でユーザーがアプリと対話できないようにします。