外部アプリ(コマンドプロンプト)の制御
こんにちは。プログラミング初心者で申し訳ないのですが、調べてみてもどうしても分からない問題があり、ご質問させて頂きました。お手数をおかけしますがご回答頂ければ幸いです。
windowsアプリケーションにて外部のアプリを呼び出し、それを操作しようとした時に、私のような素人が思いつく方法としては、keybd_eventAPIなどでキーを送る、とかWM_LBUTTONDOWNなどのウィンドウメッセージを送る、くらいしか思いつかないのですが、それ以外に外部操作の方法はあるのでしょうか?
例えば、今私が作ろうとしているのは独自アプリよりコマンドプロンプトを呼び出し、事前に指定したいくつかのコマンドを実行する、といったものなのですが、CreateProcessにて起動し、コマンドプロンプトのハンドルを得たところまでは良かったのですが、そのハンドルを利用してどのようにコマンドを送れば良いのかがどうしても分かりませんでした。
「cd ../」というコマンドを送りたい場合、
Keybd_event(Byte('c'),0,0,0);
Keybd_event(Byte('c'),0,KEYEVENTF_KEYUP,0);
Keybd_event(Byte('d'),0,0,0);
Keybd_event(Byte('d'),0,KEYEVENTF_KEYUP,0);
Keybd_event(Byte(' '),0,0,0);
Keybd_event(Byte(' '),0,KEYEVENTF_KEYUP,0);
Keybd_event(Byte('.'),0,0,0);
Keybd_event(Byte('.'),0,KEYEVENTF_KEYUP,0);
Keybd_event(Byte('.'),0,0,0);
Keybd_event(Byte('.'),0,KEYEVENTF_KEYUP,0);
Keybd_event(Byte('/'),0,0,0);
Keybd_event(Byte('/'),0,KEYEVENTF_KEYUP,0);
のようなやり方しか思いつかないのですが、他に良い方法はございませんでしょうか?
宜しければご指導して頂けますよう宜しくお願い致します。
お礼
お礼が遅くなり申し訳ございません。 大変わかりやすく説明していただき、ありがとうございます! そもそもWindowsでは無理だったんですね。 教えていただいたCygwinをインストールして cd modules/eguide php duplicate.php event ticket class といれてみたのですが、うまくいきませんでした。 間違っているだけかもしれません。 私の知識では限界を感じるので、別の方法で考えてみます。 本当にありがとうございました!