DOBON.NETプログラミング道掲示板

No35497 の記事


■35497 / )  Re[2]: VB.NETからcmdでpingを実行した時の結果
□投稿者/ ぱんだ 一般人(3回)-(2023/08/23(Wed) 00:12:12)
  • アイコン
    KOZさん
    
    度々すみません。
    以下のコードと添付写真の通り作成してみたのですが、
    例えば添付写真のように途中でキャンセルする方法はありますか?
    実行中は他のボタンも押せなくなってしまいます。
    何度も申し訳ありませんが、可能でしたらサンプルコードを教えて
    いただけましたら幸いです。
    何卒よろしくお願いいたします。
    
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            'Process.StandardOutput は StreamReader です。
            'EndOfStream プロパティが True になるまで ReadLine を繰り返してください。
    
            Using p As New Process
                p.StartInfo.FileName = Environment.GetEnvironmentVariable("ComSpec")
                p.StartInfo.UseShellExecute = False
                p.StartInfo.RedirectStandardOutput = True
                p.StartInfo.RedirectStandardInput = False
                p.StartInfo.CreateNoWindow = True
                'p.StartInfo.Arguments = "/c ping 127.0.0.1"
                p.StartInfo.Arguments = "/c " & TextBox2.Text
                p.Start()
                Dim reader = p.StandardOutput
                Do Until reader.EndOfStream
                    Dim buffer = reader.ReadLine()
                    'Console.WriteLine(buffer)
                    Debug.Print(buffer)
                    TextBox1.Text = TextBox1.Text & vbCrLf & buffer
                    Me.Refresh()
                Loop
                p.WaitForExit()
            End Using
            'Console.WriteLine("何かキーを押すと終了します。")
            'Console.ReadKey()
        End Sub

639×389 => 250×152
イメージ
2023-08-23.png
/11KB
違反を報告
返信 削除キー/


Mode/  Pass/


- Child Tree -