Win32API and GetFileVersionInfo
Posted by JimPeak (JimPeak), 17 October 2005Hi all,
I searched the whole web in order to find answers to my questions without much success.
I'm writing a script that extract the version of executable files. I use the Win32API and the following functions:
in this order. For GetFileVersionInfoSize and GettFileVersionInfo, everything is working fine. But I'm totally lost at using VerQueryValue.
Here's what I'm doing:
apiGetInfoFromVersion = Win32API.new("version", "VerQueryValue", ['p','p','p','p'], 'v')
msgp = DL.malloc(DL.sizeof('P'))
infoBufferLength = DL.malloc(DL.sizeof('P'))
apiGetInfoFromVersion.call(infoVersion, "\\", msgp, infoBufferLength)
where infoVersion is the result of a previous call to GetFileVersionInfo.
How do I retrieve the information in msgp? I've tried many ways, without any success.
(Information about VerQueryValue: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/resources/versioninformation/versioninformationreference/versioninformationfunctions/verqueryvalue.asp )
Thank you in advance.
Posted by admin (Graham Ellis), 18 October 2005The manual doesn't make it obvious, does it?
I'm not a Windows / API person and - goodness - the question is really "niche" so I'm not surprised that you've find it hard to find on the web; frankly, I think I would be reading the manual and experiementing with calls just exactly as it sounds you're doing.
This is the sort of thing that I find is often best sorted by putting two heads together ... and brainstorming it through; where it the world are you? If you happen to be just up the road from us, we also do a mean cup of coffee and you'd be very welcome to pop round (and bring a laptop with the code / problem on it!) one evening. Link - Our location
PH: 01144 1225 708225 • FAX: 01144 1225 793803 • EMAIL: email@example.com • WEB: http://www.wellho.net • SKYPE: wellho