delphi 运行外部程序函数winexec WinExecAndWait32 CreateProcess
轉載地址:http://blog.sina.com.cn/s/blog_7fdf737901013vgh.html
運行外部程序但不需等待winexec
運行外部程序并等待外部程序結束才返回結果的函數
function WinExecAndWait32(FileName: string; Visibility: Boolean): integer;
var
??zAppName: array[0..512] of char; //存放應用程序名
??StartupInfo: TStartupInfo;
??ProcessInfo: TProcessInformation;
??exitCode: Dword;
??aVisibility: integer;
begin ?
??StrPCopy(zAppName, FileName); ?
??FillChar(StartupInfo, Sizeof(StartupInfo), #0); ?
??//給StartupInfo結構體賦值
??StartupInfo.cb := Sizeof(StartupInfo); ?
??StartupInfo.dwFlags := STARTF_USESHOWWINDOW; ?
??if Visibility then ?
??aVisibility := 1
??else ?
??aVisibility := 0;
??StartupInfo.wShowWindow := aVisibility;
??//調用CreateProcess 創建進程,執行指定的可執行文件
??if not CreateProcess(nil, zAppName, nil, nil, false
??, CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS
??, nil, nil, StartupInfo, ProcessInfo) then
??Result := -1
??else
??begin
??//等待可執行文件退出
??WaitForSingleObject(ProcessInfo.hProcess, INFINITE);
??//得到進程終止狀態碼
??GetExitCodeProcess (ProcessInfo.hProcess, exitCode);
??result := exitCode;
??end;
end;
總結
以上是生活随笔為你收集整理的delphi 运行外部程序函数winexec WinExecAndWait32 CreateProcess的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SVN提交代码后不刷新状态解决办法
- 下一篇: 判断windows进程是否存在