折腾了一天多,整程序,结果整完了发现白整了,没用处。。。收获是:
1、在不同的环境下充分调研后再下结论
2、通过GetFileVersionInfo和VerQueryValue来获取文件版本信息,void牛给我的一段他写好的函数,我弄了半天却怎么也取不到flash的firefox插件文件NPSWF32.DLL的版本信息,用od跟进到ValQueryValue函数探寻了一番才发现ValQueryValue的本质就是在GetFileVersionInfo返回的内存块里搜索我们感兴趣的内容,NPSWF32.DLL使用VerQueryValue获取到的语言和代码页和StringTable那里的不一致,直接导致用这个没法查到结果,所以要得到版本信息只能自己动手来实现一个类似VerQueryValue的函数,不依赖于语言和代码页,直接根据关键字查找到值。代码太长就不贴了,哪位如果遇到类似问题的可以直接找我要。或者你有更好的办法,请指教!