关于WaitForSingleObject
2009-04-29 16:54
337 查看
//这种情况一般用于2进程间有依附关系,类似于Form的ShowModal
//但它的作用不仅仅在进程等待,我们常常用它来做线程同步
//但它的作用不仅仅在进程等待,我们常常用它来做线程同步
//该函数的功能为一直在等待Notepad执行,直到Notepad关闭为止 function WinExecAndWait32(APath: PChar; ACmdShow: Integer; ATimeout: Longword): Integer; var vStartupInfo: TStartupInfo; vProcessInfo: TProcessInformation; begin FillChar(vStartupInfo, SizeOf(TStartupInfo), 0); with vStartupInfo do begin cb := SizeOf(TStartupInfo); dwFlags := STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK; wShowWindow := ACmdShow; end; if CreateProcess(nil, APath, nil, nil, False, NORMAL_PRIORITY_CLASS, nil, nil, vStartupInfo, vProcessInfo) then Result := WaitForSingleObject(vProcessInfo.hProcess, ATimeout) else Result := GetLastError; end; procedure TForm1.Button1Click(Sender: TObject); begin WinExecAndWait32('notepad.exe', SW_SHOW, INFINITE); end;
相关文章推荐
- 关于 CreateEvent 和WaitForMultipleObjects以及 WaitForSingleObject 等函数的使用实例
- 关于ThreadPool.RegisterWaitForSingleObject和WaitHandle的应用介绍
- 关于WaitForSingleObject 的用法
- 关于ThreadPool.RegisterWaitForSingleObject和WaitHandle的应用介绍 【转】
- 关于WaitForSingleObject的使用
- 如何调用一个程序,等待运行结束,并知晓程序运行成功与否:ShellExecuteEx;WaitForSingleObject;GetExitCodeProcess(C代码)
- WaitForSingleObject(3)
- 对话框中WaitForSingleObject等待线程退出导致程序阻塞的原因及解决
- 等待线程结束的高手--WaitForSingleObject
- WaitForSingleObject
- WaitForSingleObject的用法
- 在主线程中慎用WaitForSingleObject (WaitForMultipleObjects)
- CreateMutex 和 WaitForSingleObject互斥对象
- WaitForSingleObject WaitForMultipleObjects 用法
- 转载:CreateMutex WaitForSingleObject ReleaseMutex使用
- WaitForSingleObject函数用法
- WaitForSingleObject的用法
- waitForSingleObject() 用法。
- WaitForSingleObject和 WaitForMultipleObjects
- 线程中CreateEvent和SetEvent及WaitForSingleObject的用法