哎,怒抢了一天火车票,愤怒了一天,艾希,马上有票!
自动更新方案中,大部分的思路是启动更新程序,自动更新程序自动下载远处server 维护的版本文件,该文件中保存最新的版本号,如1.1.1.1之类。下载之后更新程序会比较当前软件和远程server的版本号,如果版本低于远程server版本则启动下载升级程序,下载最新的程序,其中,就有一个过程,怎么获取当前软件的版本。用户可以从软件的描述文件或者属性查看到版本信息,利用windows提供的API中三个函数,GetFileVersionInfoSize,GetFileVersionInfo,VerQueryValue.通过程序方法得到版本号,here是最简单的一种。
通过制定VerQueryValue()的第二个参数为特定的TEXT(''\\'')
#pragma comment(lib,"version.lib")
#pragma comment(lib,"strsafe.lib")
#include"tchar.h"
#include"windows.h"
#include "strsafe.h"
//typedef struct String{
//WCHAR FileVersion[20];
//}VersionString;
void main()
{
WCHAR lpstrFilename[260]=_T("C:\\Program Files\\Adobe\\Reader 9.0\\Reader\\AcroRd32.exe");//测试
DWORD dwHandle = 0;
DWORD dwVerInfoSize = GetFil