EVC獲取檔案的版本資訊的方法

2021-04-13 10:47:55 字數 1858 閱讀 2332

/**********獲取、顯示版本資訊 開始*****************/

tchar* filename =_t("//windows//notes.exe");             //指定要獲取資訊的檔案路徑

tchar *productversion;         //用於存放產品版本號

tchar subblock[100];          //用於存放要查詢的資訊名稱,相當於資料庫中要查詢的某個屬性名

unsigned int productversionlen;//用於存放獲取的產品版本號的長度

unsigned int cbtranslate;//用於存放檔案的language and code pages的大小,這是資訊版本的必要子項

dword versionsize;//檔案版本的全部資訊的大小

獲取檔案版本的全部資訊的大小,開始

if((versionsize = getfileversioninfosize(filename,null))==0)

獲取檔案版本的全部資訊的大小,結束

lpvoid versioninfo = new dword[versionsize];     //為versioninfo 分配儲存空間

//獲取檔案版本的全部資訊,開始/

if(getfileversioninfo(filename,null,versionsize,versioninfo)==0)

//獲取檔案版本的全部資訊,結束/

//定義language and code page結構體,方便查詢

struct langandcodepage

*lptranslate;  //指向結構體的指標

.memset(subblock,'0',sizeof(subblock));//清空記憶體

//獲取檔案的language and code pages,儲存在lptranslate結構體中,開始//

verqueryvalue(versioninfo,

text("//varfileinfo//translation"),

(lpvoid*)&lptranslate,

&cbtranslate);

//獲取檔案的language and code pages,儲存在lptranslate結構體中,結束//

/****************************獲取productversion,開始****************/

//設定具體要獲取的資訊的名稱,用subblock儲存//

wsprintf( subblock,

text("//stringfileinfo//%04x%04x//productversion"),

lptranslate->wlanguage,

lptranslate->wcodepage);

//獲取productversion,儲存在productversion中//

verqueryvalue(versioninfo,

subblock,

(lpvoid*)&productversion,

&productversionlen);

/**********************獲取productversion,結束******************/

delete versioninfo;

delete lptranslate;

messagebox(productversion,_t("productversion"),mb_ok);

/**********獲取、顯示版本資訊 開始*****************/

本程式只獲得了版本資訊中的productversion子項,同理可獲得其他子項。

獲取檔案版本資訊

ref copy char szfilename c windows system32 cmd.exe dword dwsize getfileversioninfosize szfilename,null lpvoid pblock malloc dwsize getfileversioninfo...

獲取檔案的版本資訊和修改時間

cfile file bool bfile file.open cspath,cfile moderead if bfile cfilestatus status file.getstatus status char szcreatetime 24 int nreturn sprintf szcre...

獲取UWP配置檔案中的版本資訊

在一般的軟體中,我們都會顯示當前軟體的版本資訊。以前作者都是在發版的時候修改一下uwp的配置檔案中的版本資訊和軟體中的版本資訊。但是每次這樣很麻煩,有時間忘記修改了軟體中的版本資訊就會造成發布的版本和實際顯示的版本不同,因此想能不能在軟體中獲取配置檔案的版本號顯示出來就可以了。這樣每次發版只需修改配...