winapi32.GetFileVersionInfo()-问题

我需要能够从Windows编程中获取版本信息 DLL最好以与属性中显示的格式相同的格式 标签. 我很高兴找到马克·哈蒙德的Python扩展 (http://starship.python.net/crew/mhammond/)包含一个 小型演示程序" filever.py"在win32api下载中分发 那确实做到了我所需要的. 不幸的是,当我执行脚本时,我会遇到此错误: c:\ work> getfilever.py Trackback(最近的最新电话): 文件" c:\ work \ getfilever.py",第8行? d = win32api.getFileVersionInfo(fname,'\\') pywintypes.error :( 1812年,'getfileversioninfo:getfileversionInfosize', "指定的图像文件不包含资源部分.") 任何人都知道这意味着什么,或者更重要的是 工作? " fname",在上面的代码snippit中包含一个名称 DLL与MS Visual Studio .NET 2003编译. 谢谢,

# 回答1

> <抓取第四次,希望上次重新发布> 您是否认为如果您继续repostingat,任何人都会回复您的邮件 这个频率? 它宁愿让大多数人在这里杀死您. 一个帖子就足够了; 我们已经看到了您的问题,似乎没人 这里的解决方案比丹尼斯·李·比伯(Dennis Lee Bieber)所提供的更好. 只是为了确保您理解他的意思,我会在这里重复一遍:您的DLL 不包含资源部分,该部分又包含版本 您要的信息. 因此,请开始阅读MSDN和VC ++ 有关如何将此信息添加到DLL的文档. 如果您想捕获提出的异常(因为资源块 不存在),使用以下内容: 尝试: d = win32api.getFileVersionInfo(fname,r" \") 除了: d =无 如果d没有: 打印"文件中没有版本信息!" 别的: <对版本信息做点事> - - --- Heiko. -----开始PGP签名------------- 版本:gnupg v1.4.1(gnu/linux) ID8DBQBCQ/ZVF0BPGH6UVAMRAHDOAJ9Q7KMDPZZWJSQE/TALM/RXFCBOGGCEMZ+Q k5kvmlffidumytqwk9vwdso = = yqi2 -----结束PGP签名-----
# 回答2

丹尼斯·李·比伯(Dennis Lee Bieber)写道: 是的,回答这个问题当然需要详细了解 Win32. 不幸的是/但是/实际上,这确实是OP所需的 现在要做:去理解Win32. 显然,不知道 Windows如何存储版本信息. 更糟糕的是 他没有想到他的代码(以及背后的Python实施 它,以及背后的Microsoft API都是正确的, 问题确实在文件中. 问候, 马丁

标签: python

添加新评论