ShellExecute(...".\\gzip.exe"...),如何得知程序已结束??

ys810 2002-09-28 04:18:04
由于起了这个进程后,主程序继续执行,但由于我下面需要用到gzip解包后的文件,所以必须等它执行完。
shellexecute的返回值不可用。
我现在用的是个笨方法ShowMessage,让用户等待直到执行完才确定^^

谢谢大家
...全文
60 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
huzhangyou 2002-09-28
  • 打赏
  • 举报
回复
learning...........................................
windows编程真是奥妙无穷
ys810 2002-09-28
  • 打赏
  • 举报
回复
感谢各位大侠的回答,但不知如何松分??初来砸到!
jianlinlong 2002-09-28
  • 打赏
  • 举报
回复
我也凑凑:
TerminateProcess可也结束线程。
wyb_45 2002-09-28
  • 打赏
  • 举报
回复
在MSDN里有关于多线程的部分
我刚学习 VC的多线程调度。
95533 2002-09-28
  • 打赏
  • 举报
回复
天啊,怎么这么多高手?
都是咋学的呀!什么都知道咯,佩服佩服!
jishiping 2002-09-28
  • 打赏
  • 举报
回复
kingcaiyao(AKing)的代码,设置了太多东西,下面是简化的代码:

STARTUPINFO si;
PROCESS_INFORMATION pi;

memset(&si, 0, sizeof(si));
si.cb = sizeof(STARTUPINFO);
CreateProcess("gzip.exe", NULL, NULL, NULL,
FALSE, 0, NULL, NULL, &si, &pi);
WaitForSingleObject(pi.hProcess, INFINITE);
hzhxxx 2002-09-28
  • 打赏
  • 举报
回复
同意观点!
kingcaiyao 2002-09-28
  • 打赏
  • 举报
回复
用CreateProcess,就可以,看代码:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
STARTUPINFO StartInfo;
PROCESS_INFORMATION ProcessInfo;
StartInfo.cb=sizeof(STARTUPINFO);
StartInfo.lpReserved=0;
StartInfo.lpDesktop=NULL;
StartInfo.lpTitle=NULL;
StartInfo.dwX=0;
StartInfo.dwY=0;
StartInfo.dwXSize=90;
StartInfo.dwYSize=90;
StartInfo.dwXCountChars=0;
StartInfo.dwXCountChars=0;
StartInfo.dwFillAttribute=0;
StartInfo.dwFlags=STARTF_USEPOSITION|STARTF_USESIZE|STARTF_USESHOWWINDOW;
StartInfo.wShowWindow=SW_SHOW;
StartInfo.cbReserved2=0;
StartInfo.lpReserved2=NULL;
StartInfo.hStdInput=0;
StartInfo.hStdOutput=0;
StartInfo.hStdError=0;
if(!::CreateProcess(NULL,"gzip.exe",NULL,NULL,FALSE,NORMAL_PRIORITY_CLASS,NULL,NULL,&StartInfo,&ProcessInfo))
{
Application->MessageBox("Failed to execute external program!","Error",MB_OK+MB_ICONERROR);
return;
}

hProcess=ProcessInfo.hProcess;
::WaitForSingleObject(hProcess,INFINITE);
Application->MessageBox("The process has been terminated!","Error",MB_OK+MB_ICONERROR);
}

}

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧