起動したプログラムが終了するまで待機するには
カテゴリー: ぷろぐらみんぐ
2007-01-23
起動したプログラムが終了するまで待機するには
執筆:2007.01.22
編集:2007.01.22
起動したプログラムが終了するまで待機するには
関数、オブジェクト、クラス | 言語 | OS | 関連関数 |
System.Diagnostics.Process | .NET | Start() WaitForExit() |
|
Shell関数 | VB.NET | Shell | |
WshShellオブジェクト | ? | Exec Status Sleep |
System.Diagnostics.Process
Start(command) Start(command, コマンド ライン引数) WaitForExit() WaitForExit(最大指定したミリ秒間待機) |
|
[VB.NET] | |
Dim p as System.Diagnostics.Process p = System.Diagnostics.Process.Start("notepad.exe") p.WaitForExit() |
|
[C#][C++] | |
System.Diagnostics.Process p; p = System.Diagnostics.Process.Start("notepad.exe"); p.WaitForExit(); |
|
[Delphi .NET] | |
uses System.Diagnostics // .. var p : System.Diagnostics.Process; begin p := System.Diagnostics.Process.Start('notepad.exe'); p.WaitForExit(); // 終了するまで待機します end; |
|
WshShellオブジェクト
[Delphi 32] | |
uses comobj; procedure TForm1.Button1Click(Sender: TObject); var WshShell , oExec : Variant; begin try WshShell := CreateOleObject('WScript.Shell'); oExec := WshShell.Exec('notepad.exe'); // [Status] WshRunning : 0 , WshFinished : 1 while oExec.Status = 0 do Sleep(100); except WshShell := Unassigned; end; end; |
|
[VBScript] | |
Dim WshShell, oExec Set WshShell = CreateObject("WScript.Shell") Set oExec = WshShell.Exec("notepad.exe") Do While oExec.Status = 0 WScript.Sleep 100 Loop ' msgbox "OK?" |
|
参考
起動したプログラムの終了を待たない関数は
ShellExec関数(Win32API)
などがあります。