VerQueryValueで受け取るバージョンのExeファイルの情報。このような情報を登録(設定または変更)できる逆関数(WinApiまたはDelphi)がありますか? ここでは、例えば、そうすることができるプログラムがあります。どのように動作するのですか(http://www.angusj.com/resourcehacker)?EXEのバージョン情報を設定する
答えて
バージョン情報はリソースを介して保存されます。そのリソースを編集するだけで編集できるようになります。ここには、既存のファイルバージョン情報を複製して別のファイルに添付できるユニットがあります。それは(それが私の友人で符号化し、公共利用できるです)あなたはこのコードから始まるやりたいことは非常に簡単です:
unit cloneinfo;
interface
uses Windows, SysUtils;
type
LANGANDCODEPAGE = record
wLanguage: Word;
wCodePage: Word;
end;
procedure clone(sFile,output:string);
implementation
procedure clone(sFile,output:string);
var
dwHandle, cbTranslate: cardinal;
sizeVers: DWord;
lpData, langData: Pointer;
lpTranslate: ^LANGANDCODEPAGE;
hRes : THandle;
begin
sizeVers := GetFileVersionInfoSize(PChar(sFile), dwHandle);
If sizeVers = 0 then
exit;
GetMem(lpData, sizeVers);
try
ZeroMemory(lpData, sizeVers);
GetFileVersionInfo (PChar(sFile), 0, sizeVers, lpData);
If not VerQueryValue (lpData, '\VarFileInfo\Translation', langData, cbTranslate) then
exit;
hRes := BeginUpdateResource(pchar(output), FALSE);
//For i := 0 to (cbTranslate div sizeof(LANGANDCODEPAGE)) do
//begin
lpTranslate := Pointer(Integer(langData) + sizeof(LANGANDCODEPAGE));
UpdateResource(hRes, RT_VERSION, MAKEINTRESOURCE(VS_VERSION_INFO), lpTranslate^.wLanguage,lpData, sizeVers);
//end;
EndUpdateResource(hRes, FALSE);
finally
FreeMem(lpData);
end;
end;
end.
これは単なる言語とコードページの情報です。 [VS_FIXEDFILEINFO](http://msdn.microsoft.com/en-us/library/ms646997%28v=VS.85%29.aspx)はどうですか? +1とにかく – TLama
ありがとう、今私は研究に従事する... –
これはあなたがインターネットで見つけたユニットであれば、ライセンスにもっと注意する必要があります。少なくとも、ソースへのリンクを提供する必要があります。 (さらに、http://en.wikipedia.org/wiki/Run-on_sentenceを見てください) –
- 1. DBの設定情報?
- 2. ファイル情報を設定する方法
- 3. mavenビルド - バージョン情報
- 4. Intellij IDEAバージョン情報
- 5. NSURLRequest、NSURLConnectionバージョン情報
- 6. Visual Studio - .EXEコンソールアプリケーションのバージョン番号を設定する
- 7. Xserverモジュールのバージョン情報
- 8. Delphi 2007のバージョン情報がExeから見つかりません
- 9. Blackberry - デバイスSDKバージョン情報
- 10. 都市/州情報の書式設定
- 11. バージョン情報を置き換える(C#)
- 12. プロジェクトのバージョン情報を表示
- 13. メトロアプリケーションのバージョン情報をプログラムで
- 14. エンタープライズライブラリ5 LogEntryに追加のコンテキスト情報を設定する
- 15. エンジン情報のログレベルをエラーに設定する方法
- 16. ページタイトル、メタ情報をasp.netのビューで設定するmvc 4
- 17. AndroidのCrashlytics APIにユーザー情報を設定する方法
- 18. 情報を表示するための設定値
- 19. Windowsフォームアプリケーションのカルチャ情報を設定する
- 20. OpenGLヘッダーファイルのバージョン情報の不一致
- 21. Visual Studioにプロジェクトをインストールするmain exeからバージョンを設定する方法
- 22. Webサービスにバージョン情報を表示
- 23. 設定ファイルでSSIS Http Connection Manager資格情報を設定するには?
- 24. [バージョン情報]ダイアログにはどのような情報が必要ですか?
- 25. UILocalNotification.userInfoでNSManagedObject情報を設定するには?
- 26. JBoss設定で機密情報を暗号化する
- 27. カスタム日付形式の文化情報を設定します
- 28. WCFアプリケーションの資格情報を設定していますか?
- 29. 資格情報パラメータを使用してgit資格情報を設定する方法
- 30. 実行ファイルのバージョン情報を変更する
これは、[バージョンリソース](http://msdn.microsoftによって決定されます。 com/ja-jp/library/aa381058(VS.85).aspx)。 ['UpdateResource'](http://msdn.microsoft.com/en-us/library/ms648049(VS.85).aspx)を使用して変更してください。 –
バージョン情報を設定するソースを持つプログラムへのリンクです。 Delphi 2009以降は互換性があります。 [更新されたsetversion-file-version-in-res-or-exe](http://www.jasontpenny.com/blog/2009/09/05/updated-setversion-exe-to-set- to-set-file-version-in-res-or-exe /) –