BATファイル等で外部プロセスを起動する場合、かなりの割合で同期制御(終了するまで待機 = Start /w 等で実行)を行うのではないかと思います。これを普通にコーディングで実行するのであれば、次のようになります。
1: Dim resProc (As Process) = Process.Start(“notepad.exe”)
2: resProc.WaitForExit()
今回は前回利用したワークフローに追加しています。Assign アクティビティにて起動したメモ帳を終了するまで後続の InvokeMethod アクティビティにて待機させています。起動時に Process.Start メソッドの戻り値として取得した結果(Processクラスのインスタンス)のメソッドを呼び出しますので、TargetType は null のままにしておき TargetObject に戻り値の変数を設定します。MethodName には今回呼び出したい WaitForExit とメソッド名を設定します。
以上の設定にて、起動した外部プロセスが終了するまで待機するワークフローができあがります。
0 件のコメント:
コメントを投稿