用Vc怎样做一个自动升级的程序?

moon1861 2007-11-13 04:43:36
用Vc怎样做一个自动升级的程序?
...全文
219 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
sxcong 2007-11-26
  • 打赏
  • 举报
回复
http://www.codeproject.com/internet/urlfile.asp上有一个很好的升级程序,使用的是URLDownloadToCacheFile,这个API比InternetOpen更安全,使用起来也更简单,尤其在下载大型文件,比如几十M,上百M文件。
这个例子是下载一个文件的,稍一改就可以下载多个文件,比如文件名它是一个变量,你可以用List记录。我就是用这个程序改造的自动更新。好象几个很有名的国内大软件的自动更新,用的都是URLDownloadToCacheFile,稍一跟踪就看到了,比如阿里巴巴的贸易通和旺旺
pengrulove 2007-11-24
  • 打赏
  • 举报
回复
看着有些迷惑哦 看来小弟要加强学习了
lincai 2007-11-23
  • 打赏
  • 举报
回复
很多软件都有附带一个更新程序用来下载文件到程序目录的。
jacklzw88 2007-11-14
  • 打赏
  • 举报
回复
HINTERNET hSession = InternetOpen("MSIE 6.0", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
HINTERNET hResponse;
try{
hResponse=InternetOpenUrl(hSession,"http://updata.my.com",NULL,NULL,NULL,NULL);
}catch(...){

return 0;
}
//OutputDebugString("2");
char Response[1024]="";
DWORD ResponseLen=sizeof(Response);
if(InternetReadFile(hResponse,Response,ResponseLen,&ResponseLen))
{
if(strcmp(Response,"0")>0){
HINTERNET hSession2 = InternetOpen("MSIE 6.0", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);

void *FileBuff;

FileBuff=malloc(MAXFILELEN);
DWORD FileLen=MAXFILELEN;
HINTERNET hFile;
try{
hFile=InternetOpenUrl(hSession2,Response,NULL,NULL,NULL,NULL);
}catch(...){

return 0;
}
if(InternetReadFile(hFile,FileBuff,FileLen,&FileLen)){

char tempfilename[1024];
GetTempPath(sizeof(tempfilename),tempfilename);
GetTempFileName(tempfilename,"rg",0,tempfilename);
FILE * pFile=fopen(tempfilename,"wb");
fwrite(FileBuff,1,FileLen,pFile);
fflush(pFile);
fclose(pFile);
strcat(tempfilename," /silent");
if(WinExec(tempfilename,SW_HIDE)>31)
{
"升级完成"; }
}
free(FileBuff);
FileBuff=NULL;
InternetCloseHandle(hSession2);
}else{
RegSetValueEx(hKey,_T("LastUpdateDate"),NULL,type_2,(LPBYTE)CurrentDate,strlen(CurrentDate));
}
}
InternetCloseHandle(hSession);
zzw315 2007-11-14
  • 打赏
  • 举报
回复
这个问题有点大哦!自动升级涉及到的东西比较多!
qeq2008 2007-11-13
  • 打赏
  • 举报
回复
指定路径下载文件,指定路径保存覆盖文件
Prince_vegeta 2007-11-13
  • 打赏
  • 举报
回复
参考RISING的做法.一个程序是专门用来更新程序的。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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