• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 用VC++實現版本在線升級

    發表于:2007-07-14來源:作者:點擊數: 標簽:
    現在很多共享軟件都有在線升級功能,比如Windows 優化大師,超級兔子,所謂在線升級就是一個版本檢測程序,通過他,用戶可以隨時檢查有沒有新版本程序,以便及時升級,下面我們就在自己的程序里來實現這個功能: 在正式編程前,我要說的是:我不贊成某些共享
      現在很多共享軟件都有"在線升級"功能,比如"Windows 優化大師","超級兔子",所謂在線升級就是一個版本檢測程序,通過他,用戶可以隨時檢查有沒有新版本程序,以便及時升級,下面我們就在自己的程序里來實現這個功能:

      在正式編程前,我要說的是:我不贊成某些共享軟件在每次啟動時候都檢測新版本,并彈出窗口提醒用戶,有時候這大大影響或者妨礙了用戶的操作和使用,我們要實現的功能是:讓用戶自己去檢查新版本!

      編程思路是這樣的:首先我們在主頁某個地址放一個文件,然后在我們的程序里來檢查它,以便獲得新版本信息!這里版本信息文件我們用INI文件來操作!比如下列格式,

    [Version]
    Version=12
    [URL]
    URL=http://www.123.com/123.exe

      其中的 Version是新版本號,12表示V1.2版,這個格式完全可以自己設置,URL是新版本程序下載地址

      另外,要獲取INTETNET上的文件,我們一般有2種辦法,一是通過FTP下載,二是HTTP直接連接,如果你有國際域名空間,那么就可以使用匿名FTP在程序里獲取版本信息文件,但是對于使用免費主頁的朋友來說就麻煩了。因為服務器不是我們的,這就不太方便了。那么采用HTTP方式獲取版本信息文件就很有必要了!要獲取網站上的某個文件并保存在本地,我們只需要一個API函數URLDownloadToFile()即可,當成功下載INI文件后我們就可以讀取這個文件并進行分析工作了!

      具體實現過程:

      打開VC,建立MFC程序,放置一個標簽IDC_VER ,用來輸出信息,另外安排2個按狃,分別是IDC_CHECK,IDC_DOWNLOAD

      前者用來檢查是否有新版本,后者用來下載新版本程序!

      首先我們添加一個成員變量char new_url[100] 來存放新版本程序的下載地址:

      然后在IDC_CHECK 按鈕事件里輸入以下代碼來檢查有無新版本:

    SetDLgItemText(IDC_VER,"正在檢查,請等待。。。。。。");

    int ret=URLDownloadToFile(NULL,"http://ip/vesion.ini","c:\\version.ini",0,NULL);

    if (ret==S_OK) //如果下載成功
    {
    // 讀取Version 段的數據,得到新版本好
    int newversion=GetPrivateProfileInt("Version","Ver",10,"c:\\version.ini");
    if (newversion>10) //跟當前版本比較,10表示目前版本V1.0 ,根據具體版本自己設置
    {
    SetDLgItemText(IDC_VER,"有新版本了!");
    // 得到新版本下載地址給變量new_url
    GetPrivateProfileString("URL","URL",0,new_url,100,"c:\\version.ini");
    }
    else
    SetDLgItemText(IDC_VER,"抱歉。還沒有新版本!");


    DeleteFile("c:\\version.ini"); //用完后刪除

    }
    else
    SetDLgItemText(IDC_VER,"網絡連接失??!");

      在IDC_DOWNLOAD 按鈕事件里輸入以下代碼以便打開IE瀏覽器下載新文件:

    ShellExecute(this->m_hWnd,"open",new_url,NULL,"c:\\",SW_SHOW);  

      現在我們編輯一個VERSION.INI文件,并放到主頁里,然后就可以實現新版本檢查功能了!

      本文只是講述一個編程思路,具體功能還要各位編程愛好者自己去完善,比如:如果你想讓程序自動升級版本,那么你需要把這個版本檢查程序做成一個單獨的EXE文件,通過它來檢查新版本,并從服務器上下載新版本來覆蓋舊版本!這些功能,大家就根據自己的需要去實現吧!

      注:本程序在VC++6.0, Windows XP 下調試通過! 

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>