怎样知道程序中调用的另一个可执行文件已经运行结束了?
解决方案 »
- delphi数据库*表
- 如何截获窗口移动事件
- 关于一个鼠标钩子的问题.
- 请问哪里有好的关于DELPHI的网站?我是初学者,请介绍几个来,谢谢!!
- 在sql语句中如何将datetime类型转换为我需要char类型,
- 因为本站“搜索”很忙,无法搜索帖子,请各位帮忙。
- oleVariant是个什么东西?怎么用?能转为String类型吗?
- delphi开发文字、语音、视频聊天程序,不知道如何下手
- 打开工程文件时出错(Error Reading Form)
- 怎么实现组合框只能让用户选择,不能让用户输入?
- 如何判断在TStringGrid中某中Cells中输入的值是否是Float型?
- 急:在DELPHI6中压缩ACCESS数据库
procedure WinExecEx(Cmd :string);
var
AppName :array[0..512]of Char;
CurDir :array[0..255]of Char;
WorkDir :string;
StartupInfo :TStartupInfo;
ProcessInfo :TProcessInformation;
begin
StrPCopy(AppName, Cmd);
GetDir(0,WorkDir);
StrPCopy(CurDir, WorkDir);
FillChar(StartupInfo, SizeOf(StartupInfo), #0);
with StartupInfo do
begin
cb :=SizeOf(StartupInfo);
wShowWindow :=STARTF_USEPOSITION +STARTF_USESIZE;
dwX :=0;
dwY :=0;
dwXSize :=0;
dwXSize:=0;
dwFlags :=STARTF_USESHOWWINDOW;
end; if CreateProcess(nil, AppName, nil ,nil,False,
Create_New_Console or Normal_Priority_Class,
nil,nil,StartupInfo, ProcessInfo) then
WaitForSingleObject(ProcessInfo.hProcess, Infinite);end;
var
AppName :array[0..512]of Char;
CurDir :array[0..255]of Char;
WorkDir :string;
StartupInfo :TStartupInfo;
ProcessInfo :TProcessInformation;
ret:DWORD;
begin
StrPCopy(AppName, Cmd);
GetDir(0,WorkDir);
StrPCopy(CurDir, WorkDir);
FillChar(StartupInfo, SizeOf(StartupInfo), #0);
with StartupInfo do
begin
cb :=SizeOf(StartupInfo);
wShowWindow :=STARTF_USEPOSITION +STARTF_USESIZE;
dwX :=0;
dwY :=0;
dwXSize :=0;
dwXSize:=0;
dwFlags :=STARTF_USESHOWWINDOW;
end; if CreateProcess(nil, AppName, nil ,nil,False,
Create_New_Console or Normal_Priority_Class,
nil,nil,StartupInfo, ProcessInfo) then
Repeat
Application.ProcessMessage();
until WaitForSingleObject(ProessInfo.hProcess,0)<>WAIT_TIMEOUT;
end;