怎样按循序调用完一个外部应用程序,等该程序运行完再接着运行另外一个程序? 我想做个打包程序,要安装一堆程序(要等前一个程序执行完在执行下个程序)? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 procinfo:PROCESS_INFORMATION;CreateProcess(......, &procinfo);WaitforSingleObject(procinfo.hProcess, INFINITE); //这一句将等待直到被调用的进程结束。 Q: 如何启动一个程序,直到它运行结束? SHELLEXECUTEINFO ShExecInfo = {0};ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;ShExecInfo.hwnd = NULL;ShExecInfo.lpVerb = NULL;ShExecInfo.lpFile = "c:\\MyProgram.exe"; ShExecInfo.lpParameters = ""; ShExecInfo.lpDirectory = NULL;ShExecInfo.nShow = SW_SHOW;ShExecInfo.hInstApp = NULL; ShellExecuteEx(&ShExecInfo);WaitForSingleObject(ShExecInfo.hProcess,INFINITE);或: PROCESS_INFORMATION ProcessInfo; STARTUPINFO StartupInfo; //This is an [in] parameterZeroMemory(&StartupInfo, sizeof(StartupInfo));StartupInfo.cb = sizeof StartupInfo ; //Only compulsory fieldif(CreateProcess("c:\\winnt\\notepad.exe", NULL, NULL,NULL,FALSE,0,NULL, NULL,&StartupInfo,&ProcessInfo)){ WaitForSingleObject(ProcessInfo.hProcess,INFINITE); CloseHandle(ProcessInfo.hThread); CloseHandle(ProcessInfo.hProcess);} else{ MessageBox("The process could not be started...");} 用adoquery组件临时表的问题,高手来帮帮忙 adoquery1的afterscroll问题,请高手指教 求SUIPack 5.0全源码,200分送上 哪位老大知道用TWordApplication保存并关闭一word文档,我只会打开word,救急!!! 一个奇怪的问题,大家帮忙解决! 离去(都看看吧, 看看一个即将绝望的人) 问一个比较难的问题 delph7的小问题,在线等!!急!!!! 一个疑问 我学Delphi半年的过程, 大家看看有什么得失, 建议下一步如何走? 誰知道DELPHI大富翁为什么确认不了帐号? 提问啦!!哪位大哥出手相救?老板就是身边虎视耽耽呀!
CreateProcess(......, &procinfo);
WaitforSingleObject(procinfo.hProcess, INFINITE); //这一句将等待直到被调用的进程结束。
ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
ShExecInfo.hwnd = NULL;
ShExecInfo.lpVerb = NULL;
ShExecInfo.lpFile = "c:\\MyProgram.exe";
ShExecInfo.lpParameters = "";
ShExecInfo.lpDirectory = NULL;
ShExecInfo.nShow = SW_SHOW;
ShExecInfo.hInstApp = NULL;
ShellExecuteEx(&ShExecInfo);
WaitForSingleObject(ShExecInfo.hProcess,INFINITE);
或: PROCESS_INFORMATION ProcessInfo;
STARTUPINFO StartupInfo; //This is an [in] parameter
ZeroMemory(&StartupInfo, sizeof(StartupInfo));
StartupInfo.cb = sizeof StartupInfo ; //Only compulsory field
if(CreateProcess("c:\\winnt\\notepad.exe", NULL,
NULL,NULL,FALSE,0,NULL,
NULL,&StartupInfo,&ProcessInfo))
{
WaitForSingleObject(ProcessInfo.hProcess,INFINITE);
CloseHandle(ProcessInfo.hThread);
CloseHandle(ProcessInfo.hProcess);
}
else
{
MessageBox("The process could not be started...");
}