procedure TForm1.FormShow(Sender: TObject);
begin
CopyFile(pChar('d:\Ewise41.rar'),pChar(ExtractFilePath(Application.ExeName) + 'ewsie4.rar'),true);
end;
这样执行文件是复制了,但是窗体没有在复制前显示出来,等复制完后再跳出来,这样的话客户端没看到窗体就不知道在复制,怎么让窗体显示出来
begin
CopyFile(pChar('d:\Ewise41.rar'),pChar(ExtractFilePath(Application.ExeName) + 'ewsie4.rar'),true);
end;
这样执行文件是复制了,但是窗体没有在复制前显示出来,等复制完后再跳出来,这样的话客户端没看到窗体就不知道在复制,怎么让窗体显示出来
begin
button1.Click;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
CopyFile(pChar('d:\Ewise41.rar'),pChar(ExtractFilePath(Application.ExeName) + 'ewsie4.rar'),true);
application.ProcessMessages;
end;
还是没有用呀,这样把文件复制完后窗体才会显示,我希望是复制的时候窗体显示出来呀
var
op: TSHFILEOPSTRUCT;
strFrom, strTo: String;
begin
ZeroMemory(@op, sizeof(op));
strFrom := 'd:\Ewise41.rar';
strTo := ExtractFilePath(Application.ExeName) + 'ewsie4.rar';
op.Wnd := Handle;
op.wFunc := FO_COPY; // FO_MOVE:移动, FO_COPY:拷贝, FO_DELETE:删除, FO_RENAME:更名
op.pFrom := PChar(strFrom);
op.pTo := PChar(strTo); SHFileOperation(op);
end;
var
dw: DWORD;
begin
Caption := '正在复制文件, 请稍候...'; dw := GetTickCount();
while GetTickCount() - dw < 10 do
Application.ProcessMessages; CopyFile(pChar('d:\Ewise41.rar'),
pChar(ExtractFilePath(Application.ExeName) + 'ewsie4.rar'),
true); Caption := '复制完成!';
end;
这个程序的关键在于事件应该在FormActivate中执行