// 讀取註冊表的版本號代碼:
CString tmpstring;
HKEY hKEY;
LPCTSTR data_Set=_T("SOFTWARE\\flstx");
long ret0=(::RegOpenKeyEx(HKEY_LOCAL_MACHINE,data_Set,0,KEY_READ,&hKEY));
if(ret0!=ERROR_SUCCESS)
{
MessageBox("請確認是否已安裝該軟件!","注意",MB_OK);
}
BYTE owner_Get[256];
DWORD type_1=REG_SZ;
DWORD cbData_1=256;
long ret1=::RegQueryValueEx(hKEY,_T("version"),NULL,&type_1,(LPBYTE)owner_Get,&cbData_1);
if(ret1!=ERROR_SUCCESS)
{
MessageBox("請確認是否已安裝該軟件!","注意",MB_OK);
return;
}
tmpstring=owner_Get;/*假設Version的值是 2.0.1
那麼現在讀取到本地的版本是 2.0.1讀取完後連接服務器下載一個version.inf文件version.inf 設置如下:[UPDATE]
Version=2.1.0問題來了,請問如何讀取這個 version.inf 文件的 Version 值
再與上面的tmpstring對比,如果相等的話就提示不用更新
如果不符的話,就自動下載更新文件.就想知道如何去讀取這個 version.inf 的 Version 值與版本對比的(具體寫法)而已 
不會阻大家很多時間,請各位朋友指點指點,小弟不聲感謝!!!
*/

解决方案 »

  1.   

    //简体版
    //
    // 读取注册表版本代码:
    CString tmpstring;
    HKEY hKEY;
    LPCTSTR data_Set=_T("SOFTWARE\\flstx");
    long ret0=(::RegOpenKeyEx(HKEY_LOCAL_MACHINE,data_Set,0,KEY_READ,&hKEY));
    if(ret0!=ERROR_SUCCESS)
    {
    MessageBox("請確認是否已安裝該軟件!","注意",MB_OK);
    }
    BYTE owner_Get[256];
    DWORD type_1=REG_SZ;
    DWORD cbData_1=256;
    long ret1=::RegQueryValueEx(hKEY,_T("version"),NULL,&type_1,(LPBYTE)owner_Get,&cbData_1);
    if(ret1!=ERROR_SUCCESS)
    {
    MessageBox("請確認是否已安裝該軟件!","注意",MB_OK);
    return;
    }
    tmpstring=owner_Get;/*假设Version的值是 2.0.1
    那么现在读取到本地的版本是 2.0.1读取完后连接服务器下载一个version.inf文件version.inf 内容如下:[UPDATE]
    Version=2.1.0问题来了,请问如何读取这个 version.inf 文件的 Version 值
    再与上面的tmpstring对比,如果相等的话就提示不用更新
    如果不符的话,就自动下载更新文件.就想知道如何去读取這个 version.inf 的 Version 值与版本对比的(具体写法)而已 
    不会阻大家很多時间,请各位朋友指点指点,小弟不声感谢!!!
    */
      

  2.   

    AfxGetAPP()—>GetProfileInt()
    试试。
      

  3.   

    inf 跟 ini 有什么区别呢?
      

  4.   

    問題昨晚已經解決了,不過還是感謝各位的! 謝謝!用 GetPrivateProfileString(...);
    先前我用錯了 GetPrivateProfileInt(...);怪不得讀不到字符串,哈...
      

  5.   

    AfxGetAPP()—>GetProfileInt()GetProfileInt() 只能讀整數值吧我上面的版本號帶有"."昨晚問題就出在這!