VB聲明 |
||
Declare Function VerQueryValue& Lib "version.dll" Alias "VerQueryValueA" (pBlock As Byte, ByVal lpSubBlock As String, lplpBuffer As Long, puLen As Long) |
||
說(shuō)明 |
||
這個(gè)函數(shù)用于從版本資源中獲取信息。調(diào)用這個(gè)函數(shù)前,必須先用GetFileVersionInfo函數(shù)獲取版本資源信息。這個(gè)函數(shù)會(huì)檢查資源信息,并將需要的數(shù)據(jù)復(fù)制到一個(gè)緩沖區(qū)里 |
||
返回值 |
||
Long,TRUE(非零)表示成功,如請(qǐng)求的信息不存在,或pBlock不屬于有效版本信息,那就返回一個(gè)零 |
||
參數(shù)表 |
||
參數(shù) |
類(lèi)型及說(shuō)明 |
|
pBlock |
Byte,指定一個(gè)內(nèi)存塊第一個(gè)字節(jié)的地址。這個(gè)內(nèi)存塊包含了由GetFileVersionInfo函數(shù)取回的版本數(shù)據(jù)信息 |
|
lpSubBlock |
String,下述值之一: |
|
"\" |
獲取文件的VS_FIXEDFILEINFO結(jié)構(gòu) |
|
"\VarFileInfo\Translation" |
獲取文件的翻譯表 |
|
"\StringFileInfo\...." |
獲取文件的字串信息。參考注解 |
|
lplpBuffer |
Long,指定一個(gè)Long變量的地址,該變量用于裝載一個(gè)緩沖區(qū)的地址。請(qǐng)求的版本信息最終會(huì)裝載到那個(gè)緩沖區(qū)里 |
|
puLen |
Long,指定由lplpBuffer參數(shù)引用的數(shù)據(jù)值的長(zhǎng)度,以字節(jié)為單位 |
|
注解 |
||
如lplpBuffer參數(shù)為"\StringFileInfo\....",緩沖區(qū)里就會(huì)載入一個(gè)整數(shù)數(shù)組。每一對(duì)整數(shù)都代表一種語(yǔ)言和代碼頁(yè),它們描繪了可用的字串信息。通過(guò)用下面這三個(gè)部分指定一個(gè)字串,從而獲得StringFileInfo字串?dāng)?shù)據(jù):"\StringFileInfo\languagecodepage\stringname",其中l(wèi)anguagecodepage(語(yǔ)言代碼頁(yè))是采用字串形式的一個(gè)8字符十六進(jìn)制數(shù)字。如翻譯表中的語(yǔ)言代碼頁(yè)條目是&H04090000,那么這個(gè)字串就應(yīng)該是"04090000"。stringname(字串名)指定的是一個(gè)字串名。這個(gè)參數(shù)的一個(gè)例子如下: "\StringFileInfo\04090000\CompanyName" |
||
其他 |
||
從vb的api文本查看器復(fù)制的聲明如下: Declare Function VerQueryValue Lib "version.dll" Alias "VerQueryValue" (pBlock As Any, ByVal lpSubBlock As String, ByVal lplpBuffer As Long, puLen As Long) As Long |