程序删除问题

flashwolf 2002-02-21 11:00:40
问题是这样的:
客户端程序A每次运行时先到服务器上取版本号,然后与本地INI文件中的版本号对比,如果
不一样则自动升级(运行程序B从服务器上COPY最新版本的程序)。
现在的问题是怎么样关掉客户端的程序A----->执行程序B----->从服务器上COPY最新的
程序A---->最后自动载入运行?
附程序A:
begin
if application.MessageBox(pchar('客户端最新版本为' + ServerVer + ',请立即更新!'), '提示', mb_YesNo + mb_IconQuestion) = Id_Yes then
begin
mainform.WindowState := wsMinimized;
close;
application.Terminate;
ShellExecute(handle, 'open', PChar('b.exe'), '', '', sw_ShowNormal);
end;
end;

程序B:
dirs := ExtractFilePath(Application.ExeName);
DeleteFile(pchar(dirs + 'a.exe'));
CopyFile(pchar('\\'+ServerName+'\server_cc\a.exe.exe'), pchar(dirs + 'a.exe'), false);

我原来程序是这样写的,但是不能关掉自己(程序A)啊,有什么办法吗?[?]
...全文
24 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wdmusb 2002-02-21
  • 打赏
  • 举报
回复
PostQuitMessage(0)试一试
zws 2002-02-21
  • 打赏
  • 举报
回复
ShellExecute(0, 'open', PChar('b.exe'), '', '', sw_ShowNormal);
mysine 2002-02-21
  • 打赏
  • 举报
回复
你用这种方法,将它加入你的程序中当你判断它与你的最新版本不一样时,就更新它!…!!!
当然它在判断完以后,如果版本不一样它会自动将自己删除,这样你就可以拷贝自己最新的程序了!
mysine 2002-02-21
  • 打赏
  • 举报
回复
a common trick to make a program self-destruct is to have it write a tiny
batch file, and, as the very last thing it does before closing, starting
this batch file with a
//*************************************
winexec(batchfilename, SW_HIDE );
//*************************************
The batch deletes the program and then can delete itself. The last line is a

del %0

and it is *not* terminated with a carriage return/line feed pair.
li_zhifu 2002-02-21
  • 打赏
  • 举报
回复
//bbat.bat
@b.exe

//a.exe
begin
if application.MessageBox(pchar('客户端最新版本为' + ServerVer + ',请立即更新!'), '提示', mb_YesNo + mb_IconQuestion) = Id_Yes then
begin
ShellExecute(handle, 'open', PChar('bbat.bat'), '', '', sw_hide);
application.Terminate;
end;
end;

hachenzhonghua 2002-02-21
  • 打赏
  • 举报
回复
我见过你说的问题,论坛上就有,方法是生成一个 .bat(自动批处理) 文件,先让自己执行,在删除可执行文件(。EXE)病毒^_^,请自己搜索一下。
hachenzhonghua 2002-02-21
  • 打赏
  • 举报
回复
gz

828

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧