在局域网中自动更新

wazhqi 2002-11-01 03:42:43
客户端中,在局域网若自动更新,自已更新自已并执行,要原码
...全文
124 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
truemoller 2003-05-03
  • 打赏
  • 举报
回复
internet上行吗?
programmer200x 2003-02-23
  • 打赏
  • 举报
回复
问题挺好的,怎么没有人讨论啊?
quark 2003-02-12
  • 打赏
  • 举报
回复
//==============================================================================
//客户端.从服务器指定的FTP地址下载最新程序**************************************
//==============================================================================
procedure ClientDownload;
var NMFTP: TNMFTP;
begin
NMFTP := TNMFTP.Create(nil);
NMFTP.Vendor := 2411;
NMFTP.Host := Master.Computer;
NMFTP.Port := 21;
NMFTP.Timeout := 5000;
NMFTP.UserID := 'anonymous';
NMFTP.Password := 'user@host.com';
try
NMFTP.Connect;
NMFTP.Download(Slave.AppName, Slave.AppPath + Slave.AppName + '~');
finally
NMFTP.Disconnect;
NMFTP.Free;
end;
end;

//==============================================================================
//客户端.用下载的程序更新原程序*************************************************
//==============================================================================
procedure ClientReplace;
var ProcessInfo: TProcessInformation;
StartUpInfo: TStartupInfo;
BatchFileName: string;
BatchFile: TextFile;
begin
BatchFileName := ChangeFileExt(Paramstr(0),'.bat');
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
AssignFile(BatchFile, BatchFileName);
Rewrite(BatchFile);
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Writeln(BatchFile, ':try');
Writeln(BatchFile, 'del "' + Slave.AppPath + Slave.AppName + '"');
Writeln(BatchFile, 'if exist "' + Slave.AppPath + Slave.AppName + '" goto try');
Writeln(BatchFile, 'if not exist "' + Slave.AppPath + Slave.AppName + '" ren "' + Slave.AppPath + Slave.AppName + '~" "' + Slave.AppName + '"');
//自启动~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//Writeln(BatchFile, 'if exist "' + Slave.AppPath + Slave.AppName + '" "' + Slave.AppPath + Slave.AppName + '"');
Writeln(BatchFile, 'del %0');
CloseFile(BatchFile);
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
FillChar(StartUpInfo, SizeOf(StartUpInfo), $00);
StartUpInfo.dwFlags := STARTF_USESHOWWINDOW;
StartUpInfo.wShowWindow := SW_HIDE;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if CreateProcess(nil,PChar(BatchFileName),nil,nil,False,IDLE_PRIORITY_CLASS,nil,nil,StartUpInfo,ProcessInfo) then
begin
CloseHandle(ProcessInfo.hThread);
CloseHandle(ProcessInfo.hProcess);
end;
end;

wazhqi 2002-11-05
  • 打赏
  • 举报
回复
求解脱还得靠自已,我自已解决吧
hfycl 2002-11-04
  • 打赏
  • 举报
回复
up
del_c_sharp 2002-11-04
  • 打赏
  • 举报
回复
to BoningSword

佛曰:不可说~~~不可说~~~◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
ihihonline 2002-11-04
  • 打赏
  • 举报
回复
BoningSword(我爱的人名花有主,爱我的人惨不忍睹)说 :
广告满天飞啊,简直比网络时代的烧钱运动还热乎,呵呵。
del_c_sharp(摩托还需骆拉)说:
我是佛,: 佛曰:不可说~~~不可说~~~◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
小小说:摩托吃人不吐骨头,我踩你!BoningSword,小小下次不敢了;嘻嘻

BoningSword 2002-11-03
  • 打赏
  • 举报
回复
To:小小,广告满天飞啊,简直比网络时代的烧钱运动还热乎,呵呵。
ihihonline 2002-11-01
  • 打赏
  • 举报
回复
哇,接分,接分;
你可以用回调机制也可以心跳机制;
怎么用?Midas里看去啊;我那我有源码;
或是到www.nxit.net/bbs里,我也放了源码,两个例程的源码;
祝好运;///////这个贴子应该是在Midas里边嘛;

1,594

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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