コマンドプロンプトを終了せずにリダイレクトするには?
コマンドプロンプトを終了せずにリダイレクトするには?
VBからコマンドプロンプトを操作し、結果をLabelに貼り付けることを考えています。
しかし、コマンドプロンプトを起動するプロセスにリダイレクト設定をしたところ、実行するたびに終了してしまい、その後のコマンド入力でプロセスが見つからずエラーとなってしまいます。コマンドプロンプトは終了せずにリダイレクトの設定する方法を教えて頂けないでしょうか。
また、コマンドプロンプト自体は表示させずに実行できるのが理想なので、やり方のヒントだけでも頂けると助かります。
操作例(VBのボタンから):cmd.exe起動 → cd c:\ → dir
エラー内容:プロセス 'c:\windows\system32\cmd.exe' が見つかりませんでした。
動作環境:VB2005、Windows XP
==============================
Public Class Form1
Private Sub Button19_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button19.Click
Dim P1 As New System.Diagnostics.Process
P1.StartInfo.UseShellExecute = False
P1.StartInfo.RedirectStandardOutput = True
P1.StartInfo.FileName = "cmd.exe"
P1.Start()
End Sub
Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button12.Click
AppActivate("c:\windows\system32\cmd.exe")
SendKeys.SendWait("CD c:\{Enter}")
Label5.Text = P1.StandardOutput.ReadToEnd()
End Sub
Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click
AppActivate("c:\windows\system32\cmd.exe")
SendKeys.SendWait("DIR{Enter}")
Label5.Text = P1.StandardOutput.ReadToEnd()
End Sub
お礼
そうだったんですか・・・。 理解できました。ありがとうございます^^ 今後からは直接入力するんじゃなくて、コマンドラインから入力します。