私は本当に問題で立ち往生しており (現在 7 日間)、頭がおかしくなる前に、アドバイスを求めようと思いました。
私がしたいのは、基本的にcmd.exeプロセスを開始してリモートコントロールすることです。ただし、StandardInput および StandardOutput ストリームは、ユーザー入力を待機する「mysql」などのコマンドによってトリガーされないため、ジョブを実行しません。
したがって、cmd.exe コンソールの内容を読み取って書き込むだけです。ただし、書き込みメソッドは新しいコマンドを起動できる必要があります。
私はたくさん試してみましたが、kernel32.dllがうまくいくと確信しています:
- ReadConsoleOutput()
- WriteConsoleInput()
- GetConsoleScreenBufferInfo()
- SetConsoleCursorPosition()
もちろん、私はすでにいくつかの作業を行っていますが、正しい道を歩んだかどうかは絶対にわかりません. したがって、おそらくあなたを混乱させるだけなので、コードは投稿しません。
誰かが動作中のデモやチュートリアルなどを教えてくれたら最高です。C++ や C であっても、何もないよりはましです。
前もって感謝します。
ミューズ・コッホハイム
PS: pinvoke や MSDN へのリンクだけを投稿しないでください。必要なのはもう少し複雑です。そして、自分でそこにたどり着くのに十分なwinapiの経験がないようです:/
編集:皆さんが投稿したリンクに基づいて得た新しいアイデアのいくつかを試してみました. 私は戻ってきて、私が理解したものを投稿します。助けてくれてありがとう...