如何获取文件版本信息????

hardwind 2006-08-21 11:15:46
关于如何获取文件版本信息,在网上找了一些资料,明确了是通过三个API函数来实现:
GetFileVersionInfoSize
getfileversioninfo
VerQueryValue
但在PB中使用这三个函数一直没有成功.
不知哪位大侠有在PB中用过,请贴个例子出来.
...全文
646 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
incats 2006-09-05
  • 打赏
  • 举报
回复
//////////////////////////////////////////////////////////////////////
//
// Function: of_GetFileVersion
//
// Purpose: 获取程序文件的版本号,但获取PB编译出的EXE版本号是没有意义的.
//
// Scope: public
//
// Arguments: as_filename 程序文件的全路径名
//
// Returns: string 版本号
//
// Last Date: 2005/09/7
//////////////////////////////////////////////////////////////////////
long nSize
long hMem
long pBuf, pBufLen
long v1, v2, v3, v4
VS_FIXEDFILEINFO vs

nSize = GetFileVersionInfoSize(as_filename, 0)
if nSize <= 0 then return ""

hMem = LocalAlloc(0, nSize)

if GetFileVersionInfo(as_filename, 0, nSize, hMem) then

if VerQueryValue(hMem, "\", pBuf, pBufLen) then

CopyMemory(vs, pBuf, pBufLen)

v1 = IntHigh(vs.dwProductVersionMS)
v2 = IntLow(vs.dwProductVersionMS)
v3 = IntHigh(vs.dwProductVersionLS)
v4 = IntLow(vs.dwProductVersionLS)

LocalFree(hMem)

return string(v1) + "." + string(v2) + "." + string(v3) + "." + string(v4)

end if

end if

LocalFree(hMem)

return ""
qxl12343 2006-08-31
  • 打赏
  • 举报
回复
PB官方网站有相关文档
qxl12343 2006-08-31
  • 打赏
  • 举报
回复
PB生成的EXE和其他语言编译生成的EXE,在取版本时,稍有点差异
polestarxu 2006-08-30
  • 打赏
  • 举报
回复
Up
收藏一下
le123 2006-08-30
  • 打赏
  • 举报
回复
up,GZ
sunpower99 2006-08-21
  • 打赏
  • 举报
回复
up,
关注
handycyw 2006-08-21
  • 打赏
  • 举报
回复
http://dev.csdn.net/develop/article/46/46414.shtm
http://dev.csdn.net/develop/article/46/46419.shtm
http://dev.csdn.net/develop/article/46/46421.shtm

680

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder API 调用
社区管理员
  • API 调用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧