程序执行COPY后不执行1.18.EXEprocedure TForm1.BitBtn1Click(Sender: TObject);
var
a,b,c,d:string;begin
a:=('E:\硬盘游戏\魔兽争霸\war3.exe');
b:=('E:\硬盘游戏\魔兽争霸\1.18.exe');
C:=('D:\Games\Warcraft III\war3.exe');
d:=('E:\Games\魔兽争霸\war3.exe');
if FileExists(a) then
WinExec('xcopy E:\硬盘游戏\魔兽争霸\版本\1.18\1.18.exe E:\硬盘游戏\魔兽争霸\ /z/s/i', SW_HIDE)
else
if FileExists(b) then
ShellExecute(handle,'open','E:\Games\魔兽争霸\1.18.exe','','',SW_SHOWNORMAL)
else
......
showmessage('找不到文件');
end;
end;
var
a,b,c,d:string;begin
a:=('E:\硬盘游戏\魔兽争霸\war3.exe');
b:=('E:\硬盘游戏\魔兽争霸\1.18.exe');
C:=('D:\Games\Warcraft III\war3.exe');
d:=('E:\Games\魔兽争霸\war3.exe');
if FileExists(a) then
WinExec('xcopy E:\硬盘游戏\魔兽争霸\版本\1.18\1.18.exe E:\硬盘游戏\魔兽争霸\ /z/s/i', SW_HIDE)
else
if FileExists(b) then
ShellExecute(handle,'open','E:\Games\魔兽争霸\1.18.exe','','',SW_SHOWNORMAL)
else
......
showmessage('找不到文件');
end;
end;
if FileExists(a) then
begin
WinExec('xcopy E:\硬盘游戏\魔兽争霸\版本\1.18\1.18.exe E:\硬盘游戏\魔兽争霸\ /z/s/i', SW_HIDE);
ShellExecute(handle,'open','E:\Games\魔兽争霸\1.18.exe','','',SW_SHOWNORMAL);
end
else
...
楼主是在做魔兽的版本转换器吧?
执行的时候应该是执行 E:\硬盘游戏\魔兽争霸\1.18.exe
以前我想做一个,后来发现那几个版本的压缩包太大了。
我不明白怎么会有几个路径的文件:
a:=('E:\硬盘游戏\魔兽争霸\war3.exe'); //这个魔兽主程序
b:=('E:\硬盘游戏\魔兽争霸\1.18.exe');//这个压缩包文件?
C:=('D:\Games\Warcraft III\war3.exe');//??
d:=('E:\Games\魔兽争霸\war3.exe');//??
另外就是多点击几次BitBtn1Click的话会XCOPY会驻留的内存中,CTRL+ALT+DEL可以看的见几个
XCOPY,哪怕是XCOPY完之后也不会释放,如何先释放再CLOSE?