none
如何等待外部呼叫結束的問題 RRS feed

  • 問題

  •  

    小弟目前想要想辦法來判斷外部呼叫何時結束 才能接著執行程式的下一步

     

    Dim MyProcess As System.Diagnostics.Process
    Dim myp_info1 As New ProcessStartInfo("程式", "參數 ")

        myp_info1.CreateNoWindow = False
        MyProcess = Process.Start(myp_info1)

     

     

    這隻程式在命令提示字元中可以看到程式執行的訊息 可是程式結束後他似乎沒有回傳值

    請問該要用什麼方法來得知外部呼叫的程式已經完成了呢 謝謝

     

     

    2008年7月8日 上午 02:47

解答

  • HI,

     

    您可以這樣做:

     

    MyProcess = Process.Start(myp_info1).WaitForExit()

    '執行到這裏就是外部程式已結束

     

    tihs

    2008年7月8日 上午 02:55

所有回覆

  • HI,

     

    您可以這樣做:

     

    MyProcess = Process.Start(myp_info1).WaitForExit()

    '執行到這裏就是外部程式已結束

     

    tihs

    2008年7月8日 上午 02:55
  • 要分清楚,程序 (Process) 是在互不相關的記憶體位置跑,不是函數,不會有傳回值。

     

    除了特定的通道可互傳資料,或是命令提示字元的標準輸出入可讀取外,是不能交換資料的。

    2008年7月8日 上午 04:02
    版主