到底怎么拷贝文件?~~我快不行了!!(65分)

  • 主题发起人 主题发起人 base2
  • 开始时间 开始时间
B

base2

Unregistered / Unconfirmed
GUEST, unregistred user!
用copyfile('project1.exe', 'c:/windows/start.exe',false)
来进行文件的拷贝。
project1.exe就是正在执行的文件本身,可是死活考不过去!
怎么回事?是我的格式错了吗?还是什么参数的问题?
 
试试看用全路径。
copyfile('d:/project/project1.exe', 'c:/windows/start.exe', false);

而且可以用getlasterror来看看出错代码是什么。
 
可是我执行文件的位置不是固定的呀!
原本打算用copyfile(Application.exename, 'c:/windows/start.exe',false)
拷贝,可还是考不过去!

不知大家都是怎么用这个函数的?

 
当然不行了,你的Project1.exe正在运行时,操作系统是将其锁定,对它的读写操作都
会错。
 
那还有什么别的办法能达到这个效果的吗?
 
吕雪松:
可以读的
 
用Tmemorystream
 
var mem:Tmemorystream;
begin
Mem:=tmemorystream.Create ;
mem.LoadFromFile(application.exename);
application.ProcessMessages ;
mem.SaveToFile (Filename);
Mem.Clear ;
Mem.Free ;
end;
 
SORRY,
我现在的机器上没有DELPHI,没办法替你验证。
不过我建议你不要在调试环境下这样实验。因为调试期间EXE被DELPHI锁定。
你可以试着编译之后单独运行这个EXE文件。
 

运行时可以拷贝自己的,要想知道自己的确切路径,可以用
ExtractFilePath(Application.ExeName)+'asdfgsgd.EXE'
 
肯定可以读的,因为我写过这样的程序。
也是用copyfile,不过就是要先取得自己的绝对路径。
再COPY。
试试吧。
 
多人接受答案了。
 
后退
顶部