delphi怎么实现打开一个文件后延迟10秒再打开另一个文件?

我的设想是这样的,我在一个窗口里有一个按钮,点击后先打开c:\1.exe,然后过10秒后,也就是等1.exe确定完全运行之后,再打开c:\2.exe程序。打开程序都能好写... 我的设想是这样的,我在一个窗口里有一个按钮,点击后先打开c:\1.exe,然后过10秒后,也就是等1.exe确定完全运行之后,再打开c:\2.exe程序。打开程序都能好写,问题是中间的延迟我不会写,希望老鸟们给个代码,谢谢 展开
 我来答
板夜天2U
2011-11-30
知道答主
回答量:22
采纳率:0%
帮助的人:12.1万
展开全部
方法很多:
1、sleep(10000):以毫秒为单位
2、用Ttime控件
3、给你写了个延时过程:
//ms 毫秒
procedure MyDelay(mS :integer);
var
beginTick ,endTick :Integer;
begin
beginTick :=GetTickCount;
while True do
begin
Application.ProcessMessages;
endTick :=GetTickCount;
if (endTick - beginTick)>mS then Break;
end;
end;

推荐第三种!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bdQuaker
2011-12-01 · TA获得超过253个赞
知道小有建树答主
回答量:551
采纳率:100%
帮助的人:437万
展开全部
最简单的办法,
增加一个Timer控件,
然后设置 internal:=10000;
在Timer的OnTime事件中添加打开2.exe文件代码,
将Timer.Enable := False ;

在1.exe的OnActive中,
启动Timer。
追问
是这样的,这个1.exe并不是我写的(或是任意一个别人写的不同编译软件生成的程序),我没法重新编译在他的ONACTIVE中再启动timer.如果能加又该怎么写?
追答
做一个Dos的批处理文件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
遒劲且威武的小白桦s
2011-12-02 · TA获得超过115个赞
知道小有建树答主
回答量:160
采纳率:0%
帮助的人:189万
展开全部
给你一个通过进程来检测1.exe是否运行的函数,如果已运行,在打开2.exe,反之则一直循环等待

function chktaskcount(proname: string; procount: integer):boolean;
var
i: integer;
ProcessName: string;
ListLoop: Boolean;
FsnapShotHandle: Thandle;
FProcessEntry32: TProcessEntry32;
begin
result := false;
Fsnapshothandle := CreateToolHelp32SnapShot(TH32CS_SNAPPROCESS, 0);
FProcessEntry32.dwsize := SizeOF(FProcessEntry32);
Listloop := Process32First(FSnapshotHandle, FProcessEntry32);
i := 0;
while Listloop do
begin
ProcessName := FprocessEntry32.szExeFile;
if ProcessName = proname then
i := i + 1;
ListLoop := Process32Next(FSnapshotHandle, FprocessEntry32);
end;
if i = procount then
result := true;
CloseHandle(FSnapshotHandle);
end;

调用方法:
procedure TForm1.Button1Click(Sender: TObject);
begin
windows.WinExec(pchar('c\1.exe'), 1);
while not chktaskcount('1.exe', 1) do //当进程里面1.exe的个数不为1的时候 循环延迟
begin
sleep(1000);
end;
windows.WinExec(pchar('c\2.exe'), 1);
end;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式