大家快来帮我看看啊!错在哪里啊?(50分)

  • 主题发起人 主题发起人 haifeilong1
  • 开始时间 开始时间
H

haifeilong1

Unregistered / Unconfirmed
GUEST, unregistred user!
var
Form1: TForm1;
syspath:array[1..127]of char;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
getsystemdirectory(@syspath,256);
if CopyFile(Pchar(ExtractFilePath(Paramstr(0))+'dll/midas.dll'),Pchar(Trim(syspath)+'/midas.dll'),false) then
showmessage('成功')
else
showmessage('失败')
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
getsystemdirectory(@syspath,256);
showmessage(Trim(syspath)+'/midas.dll');
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
showmessage(ExtractFilePath(Paramstr(0))+'dll/midas.dll')
end;

我的目的就是只想让文件目录下的dll子目录中的一个midas.dll文件复制到system32的目录下,可是不管将CopyFile(Pchar(ExtractFilePath(Paramstr(0))+'dll/midas.dll'),Pchar(Trim(syspath)+'/midas.dll'),false) 后面的这个boolean参数改成false或true都无法将midas.dll文件复制到system32的目录下,编译运行都没有错,就是无法实现复制的功能,请问是什么原因啊?
请各位大虾帮忙看看啊!哪里有问题啊!谢谢了.....
 
把CopyFile中的那一长串分开写
 
你的Pchar(Trim(syspath)+'/midas.dll')有问题,
你可以调试一下,这句的结果没有得到真正的全路径+文件名,而只得到路径
如果你换成pchar('C:/WINDOWS/system32/midas.dll')就没问题了!

或者:
Pchar(StrCat(@syspath,pchar('/midas.dll')))
 
同意smallestmonkey,我记得好像后面那个FALSE作用只是复制时是不是覆盖原先的文件。与复制成功否没什么关系。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
666
import
I
后退
顶部