TNB Library
クラス | 公開メンバ関数 | 限定公開メンバ関数 | 全メンバ一覧
CFileVersion クラス

ファイルバージョン取得クラス. [詳解]

#include <TnbFileVersion.h>

公開メンバ関数

 CFileVersion (void)
 コンストラクタ [詳解]
 
void Close (void)
 [設定] クローズ [詳解]
 
CStr Get (LPCTSTR lpszType, WORD wLanguage=0) const
 [取得] 情報取得(文字列) [詳解]
 
CStr GetAboutText (LPCTSTR lpszVerText, WORD wLanguage=0) const
 [取得] About画面用文字列取得. [詳解]
 
CStr GetCopyrightText (WORD wLanguage=0) const
 [取得] 著作権文字列取得. [詳解]
 
VS_FIXEDFILEINFOGetFileInfo (void)
 [取得] 情報取得. [詳解]
 
const VS_FIXEDFILEINFOGetFileInfo (void) const
 [取得] 情報取得 [詳解]
 
CStr GetFileVersionText (WORD wLanguage=0) const
 [取得] ファイルバージョン文字列取得. [詳解]
 
CStr GetProductVersionText (WORD wLanguage=0) const
 [取得] プロダクトバージョン文字列取得. [詳解]
 
bool IsPrivateBuild (void) const
 [取得] プライベートビルドチェック. [詳解]
 
bool IsSpecialBuild (void) const
 [取得] スペシャルビルドチェック. [詳解]
 
bool IsValid (void) const
 [確認] 有効か [詳解]
 
INT_PTR Modify (LPCTSTR lpszType, LPCTSTR lpszValue, WORD wLanguage=0)
 [変更] 情報変更. [詳解]
 
INT_PTR ModifyFileVersion (WORD v1, WORD v2, WORD v3, WORD v4, WORD wLanguage=0)
 [変更] ファイルバージョン変更. [詳解]
 
INT_PTR ModifyProductVersion (WORD v1, WORD v2, WORD v3, WORD v4, WORD wLanguage=0)
 [変更] プロダクトバージョン変更. [詳解]
 
bool Open (LPCTSTR lpszFile=NULL, HINSTANCE hInst=NULL)
 [設定] オープン [詳解]
 
bool WritePush (void)
 [設定] 書き込み. [詳解]
 

限定公開メンバ関数

virtual void OnGetVerisonText (CStr &_str, DWORD flag, WORD wLanguage) const
 [通知] GetVersionText コール通知. [詳解]
 

詳解

ファイルバージョン取得クラス.

リソースにて付加されている情報を取得することが出来ます。 ファイル指定することで、自プロセス以外の情報も取得できます。

覚え書き
Versionリソースの "SpecialBuild" に文字列を入れると、スペシャルビルドフラグが立ちます。
Versionリソースの "PrivateBuild" に文字列を入れると、プライベートビルドフラグが立ちます。
必要ファイル
TnbFileVersion.h
日付
06/09/19 新規作成
08/04/11 UNICODEリソースチェック。 WritePush() 追加。

TnbFileVersion.h43 行目に定義があります。

構築子と解体子

◆ CFileVersion()

CFileVersion ( void  )

コンストラクタ

TnbFileVersion.h48 行目に定義があります。

関数詳解

◆ Close()

void Close ( void  )

[設定] クローズ

TnbFileVersion.h115 行目に定義があります。

◆ Get()

CStr Get ( LPCTSTR  lpszType,
WORD  wLanguage = 0 
) const

[取得] 情報取得(文字列)

引数
lpszType取得情報種。以下の文字列の内いずれかを指定します。
"CompanyName" - 会社名
"FileDescription" - 説明
"FileVersion" - ファイル・バージョン
"InternalName" - 内部名
"LegalCopyright" - 著作権
"OriginalFileName" - 正式ファイル名
"ProductName" - 製品名
"ProductVersion" - 製品バージョン
"Comments" - コメント
"LegalTrademarks" - 商標
"PrivateBuild" - プライベート・ビルド情報
"SpecialBuild" - スペシャル・ビルド情報
wLanguage言語コード。省略すると最初に見つけた情報を返します。
戻り値
文字列成功
Empty状態失敗(オープンしていないと失敗します)

TnbFileVersion.h164 行目に定義があります。

◆ GetAboutText()

CStr GetAboutText ( LPCTSTR  lpszVerText,
WORD  wLanguage = 0 
) const

[取得] About画面用文字列取得.

引数
lpszVerTextバージョン文字表記。
wLanguage言語コード。省略すると最初に見つけた情報を返します。
戻り値
改行含んだ文字列

TnbFileVersion.h187 行目に定義があります。

◆ GetCopyrightText()

CStr GetCopyrightText ( WORD  wLanguage = 0) const

[取得] 著作権文字列取得.

覚え書き
"LegalCopyright" と "CompanyName" を連結した文字列を返します。
引数
wLanguage言語コード。省略すると最初に見つけた情報を返します。
戻り値
著作権文字列

TnbFileVersion.h204 行目に定義があります。

◆ GetFileInfo() [1/2]

VS_FIXEDFILEINFO * GetFileInfo ( void  )

[取得] 情報取得.

覚え書き
取得した情報を書き換えて、 WritePush() することで、情報を書き換えることが出来ます。
戻り値
NULL以外情報
NULL失敗(オープンしていないと失敗します)

TnbFileVersion.h140 行目に定義があります。

◆ GetFileInfo() [2/2]

const VS_FIXEDFILEINFO * GetFileInfo ( void  ) const

[取得] 情報取得

戻り値
NULL以外情報
NULL失敗(オープンしていないと失敗します)

TnbFileVersion.h129 行目に定義があります。

◆ GetFileVersionText()

CStr GetFileVersionText ( WORD  wLanguage = 0) const

[取得] ファイルバージョン文字列取得.

覚え書き
"FileVersion" とフラグから作成した文字列を返します。
引数
wLanguage言語コード。省略すると最初に見つけた情報を返します。
戻り値
文字列

TnbFileVersion.h218 行目に定義があります。

◆ GetProductVersionText()

CStr GetProductVersionText ( WORD  wLanguage = 0) const

[取得] プロダクトバージョン文字列取得.

覚え書き
"ProductVersion" とフラグから作成した文字列を返します。
引数
wLanguage言語コード。省略すると最初に見つけた情報を返します。
戻り値
文字列

TnbFileVersion.h229 行目に定義があります。

◆ IsPrivateBuild()

bool IsPrivateBuild ( void  ) const

[取得] プライベートビルドチェック.

戻り値
trueプライベートビルド
false

TnbFileVersion.h254 行目に定義があります。

◆ IsSpecialBuild()

bool IsSpecialBuild ( void  ) const

[取得] スペシャルビルドチェック.

戻り値
trueスペシャルビルド
false

TnbFileVersion.h239 行目に定義があります。

◆ IsValid()

bool IsValid ( void  ) const

[確認] 有効か

戻り値
trueOpenに成功している
falseOpenしていない。

TnbFileVersion.h57 行目に定義があります。

◆ Modify()

INT_PTR Modify ( LPCTSTR  lpszType,
LPCTSTR  lpszValue,
WORD  wLanguage = 0 
)

[変更] 情報変更.

覚え書き
ファイルの変更はしません。インスタンス内の情報を変更します。ファイルに反映させるには WritePush() を使います。
注意
新規に設定することや、今の情報よりも長い文字列は設定できません。
引数
lpszType変更情報種。
wLanguage言語コード。省略すると最初に見つけた情報を変更します。
lpszValue変更する文字列。
戻り値
マイナスエラー
0以上変更した文字列長.

TnbFileVersion.h276 行目に定義があります。

◆ ModifyFileVersion()

INT_PTR ModifyFileVersion ( WORD  v1,
WORD  v2,
WORD  v3,
WORD  v4,
WORD  wLanguage = 0 
)

[変更] ファイルバージョン変更.

覚え書き
ファイルの変更はしません。インスタンス内の情報を変更します。ファイルに反映させるには WritePush() を使います。
引数
v1バージョン1
v2バージョン2
v3バージョン3
v4バージョン4
wLanguage言語コード。省略すると最初に見つけた情報を変更します。
戻り値
マイナスエラー
0以上変更した文字列長.

TnbFileVersion.h314 行目に定義があります。

◆ ModifyProductVersion()

INT_PTR ModifyProductVersion ( WORD  v1,
WORD  v2,
WORD  v3,
WORD  v4,
WORD  wLanguage = 0 
)

[変更] プロダクトバージョン変更.

覚え書き
ファイルの変更はしません。インスタンス内の情報を変更します。ファイルに反映させるには WritePush() を使います。
引数
v1バージョン1
v2バージョン2
v3バージョン3
v4バージョン4
wLanguage言語コード。省略すると最初に見つけた情報を変更します。
戻り値
マイナスエラー
0以上変更した文字列長.

TnbFileVersion.h338 行目に定義があります。

◆ OnGetVerisonText()

virtual void OnGetVerisonText ( CStr _str,
DWORD  flag,
WORD  wLanguage 
) const
protectedvirtual

[通知] GetVersionText コール通知.

引数
[in,out]_strバージョン文字列。 編集することで、 GetVersionText の戻り値を加工できます。
[in]flagフラグ。 VS_FF_DEBUG などのフラグがはいってます。
[in]wLanguageランゲージ。

TnbFileVersion.h384 行目に定義があります。

◆ Open()

bool Open ( LPCTSTR  lpszFile = NULL,
HINSTANCE  hInst = NULL 
)

[設定] オープン

引数
lpszFile対象のファイル名。省略すると自プロセスが対象になります。
hInst対象のインスタンス。 lpszFile を NULL にします。
戻り値
true成功
false失敗

TnbFileVersion.h69 行目に定義があります。

◆ WritePush()

bool WritePush ( void  )

[設定] 書き込み.

覚え書き
Modify()ModifyFileVersion() , GetFileInfo() などにより変更した情報をファイルに書き出します。
戻り値
true成功
falseエラー

TnbFileVersion.h357 行目に定義があります。