一个关闭其他程序的问题!
XCOPY为自定义拷贝文件函数 目的是拷贝文件
下面过程是先关闭以前运行的c:\FFF.exe文件 并从D盘目录下拷贝同名的FFF.exe覆盖到c:\fff.exe
请问错在什么地方?
procedure TMainForm.Button1Click(Sender: TObject);
var
soufile,desfile,fname:string;
n:integer;
h:hWnd;
begin
button1.Enabled:=false;
soufile:='d:\fff.exe';
desfile:=‘c:\FFF.exe';
h := Findwindow('Tmain','abc');
if h<>0 then //关闭窗口
begin
if postmessage(h,wm_quit,1,1)=false then
begin
showmessage('关闭窗口失败!');
close();
end;
end;
showmessage('1');//去掉这句就报错因为XCOPY不能覆盖以前运行的文件 提示文件正被使用
if XCOPY(soufile,desfile)=false then
begin
showmessage('文件拷贝失败!');
close;
exit;
end;
end;
showmessage('更新成功!');
问题点数:100、回复次数:3Top
1 楼Kevin_Lmx(繁华阅尽)回复于 2005-04-02 16:48:21 得分 50
发送关闭窗体消息后加延时处理Top
2 楼cblearn()回复于 2005-04-02 16:50:15 得分 0
请问怎样延时啊?我用SLEEP(50)也不行啊!Top
3 楼DDGG(叮叮当当)回复于 2005-04-02 16:59:09 得分 50
把showmessage('1');改成:
while Findwindow('Tmain','abc') <>0 do
Application.ProcessMessages;Top




