发新话题
打印

如何得到应用程序的资料!

如何得到应用程序的资料!

  使用 Microsoft 的开发工具,常常会碰到因版本不同而造成程序无法执行,甚至发生错误的情况!这个文章是想告诉大家,如何在 VB 中利用 GetFileVersionInfo API 来取得应用程序版本的版本。GetFileVersionInfo 主要是针对 32 位元的执行类型的版本,例如:.EXE 档、.OCX 档、.DLL 档。

为了过滤不适合的程序,我们使用 GetFileVersionInfoSize API 来判断程序是否为 32 位元的执行类型的程序,而由於使用 GetFileVersionInfo API 取得的资料无法直接读出,我们也使用 VerQueryValue API 来取出相关版本的资料。相关的 API 及 Type 声明如下:

Public Declare Function GetFileVersionInfo Lib "version.dll" Alias "GetFileVersionInfoA" _
    (ByVal lptstrFilename As String, ByVal dwHandle As Long, ByVal dwLen As Long, _
    lpData As Any) As Long
Public Declare Function GetFileVersionInfoSize Lib "version.dll" Alias "GetFileVersionInfoSizeA" _
    (ByVal lptstrFilename As String, lpdwHandle As Long) As Long
Public Declare Function VerQueryValue Lib "version.dll" Alias "VerQueryValueA" _
    (pBlock As Any, ByVal lpSubBlock As String, lplpBuffer As Long, puLen As Long) As Long

Type VS_FIXEDFILEINFO
    dwSignature As Long
    dwStrucVersion As Long
    dwFileVersionMS As Long
    dwFileVersionLS As Long
    dwProductVersionMS As Long
    dwProductVersionLS As Long
    dwFileFlagsMask As Long
    dwFileFlags As Long
    dwFileOS As Long
    dwFileType As Long
    dwFileSubtype As Long
    dwFileDateMS As Long
    dwFileDateLS As Long
End Type
在今天的范例程序中,您只要输入包含路径的档案名称,便可以取得以下的程序资料:

1  程序版本资料。
2、程序类型资料。
3、着作权资料。
4、程序说明资料。

TOP

发新话题