PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
3423 | 98/09/28 13:10:49 | GetFileVersionInfo(Windows API)の使い方のお礼。 By 小島克之 |
3415 | 98/09/28 09:26:28 | RE:↑全然ちがいました、すみません By てとらぽっと |
3404 | 98/09/25 16:51:42 | RE: GetFileVersionInfo の使い方 By にしやん |
3392 | 98/09/25 12:14:10 | RE:推測モードの回答ですが... By てとらぽっと |
3389 | 98/09/25 11:20:42 | PB5.0.03: GetFileVersionInfo(Windows API)の使い方に付いてお尋ねします。 By wazawa |
カテゴリ:旧電子会議室
日付:1998年09月25日 16:51 発信者:にしやん
題名:RE: GetFileVersionInfo の使い方
小島さん、こんにちは。
GetFileVersionInfo でバージョン情報を取得する方法です。
例:C:\\Windows\\TEST01.EXE のバージョンを取得する
構造体
VS_FIXEDFILEINFO
uLong dwSignature
uLong dwStrucVersion
uLong dwFileVersionMS
uLong dwFileVersionLS
uLong dwProductVersionMS
uLong dwProductVersionLS
uLong dwFileFlagsMask
uLong dwFileFlags
uLong dwFileOS
uLong dwFileType
uLong dwFileSubtype
uLong dwFileDateMS
uLong dwFileDateLS
外部関数
FUNCTION uLong GetFileVersionInfoSize(String lptstrFilename,REF uLong lpdwHandle) &
LIBRARY \"VERSION.DLL\" ALIAS FOR \"GetFileVersionInfoSizeA\"
FUNCTION uLong GetFileVersionInfo(String lptstrFilename,Long dwHandle,Long dwLen,REF Blob lpData) &
LIBRARY \"VERSION.DLL\" ALIAS FOR \"GetFileVersionInfoA\"
FUNCTION uLong VerQueryValue(REF Blob pBlock,String lpSubBlock,REF uLong lpBuffer,uLong puLen) &
LIBRARY \"VERSION.DLL\" ALIAS FOR \"VerQueryValueA\"
SUBROUTINE MemMove(REF Structure dst,uLong src,Long len) &
LIBRARY \"KERNEL32.DLL\" ALIAS FOR \"RtlMoveMemory\"
スクリプト
String path
uLong dummy
uLong size
Blob lpData
uLong lpBuffer
uInt vSize
VS_FIXEDFILEINFO info
uLong VersionMS, VersionLS
String Version
path = \"C:\\Windows\\TEST01.EXE\"
size=GetFileVersionInfoSize(path, dummy)
IF size > 0 THEN
lpData = Blob(Space(size))
GetFileVersionInfo(path, 0, size, lpData)
VerQueryValue(lpData, \"\\\", lpBuffer, vSize)
MemMove(info,lpBuffer,52)
VersionMS = info.dwProductVersionMS
VersionLS = info.dwProductVersionLS
Version = String(Integer(VersionMS / 65536))+\".\"+String(Mod(VersionMS,65536),\"00\")+\".\"+&
String(VersionLS,\"00\")
MessageBox(\"\",Version)
ELSE
//バージョン情報を取得できない
END IF
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows95
DBMS Oracle SQL*Net 2.3
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Oracle 7.3
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.