1. 程式人生 > >Delphi2010如何獲取程式內部自身版本號?

Delphi2010如何獲取程式內部自身版本號?

用原來的GetFileVersionInfo只能獲取Delpi7的程式版本號,用在Delphi2010中就不管用了

//------ 獲取檔案版本號
function F_GetFileVersion(FN: string): string;
var
  Temp, InfoSize: Cardinal;
  FileData: Pointer;
  FileInfo: PVSFixedFileInfo;
begin
  Result := '';
  if not FileExists(FN) then Exit;

  InfoSize := GetFileVersionInfoSize(PChar(FN), Temp);


  if InfoSize  = 0 then Exit;       //沒有版本號
  FileData := GetMemory(InfoSize);
  try
    if not GetFileVersionInfo(PChar(FN), 0, InfoSize, FileData) then Exit;
    if not VerQueryValue(FileData, '\', Pointer(FileInfo), Temp) then Exit;
    Result := Format('%d.%d.%d.%d',
      [FileInfo.dwFileVersionMS div $10000,

       FileInfo.dwFileVersionMS mod $10000,
       FileInfo.dwFileVersionLS div $10000,
       FileInfo.dwFileVersionLS mod $10000]);
  finally
    FreeMemory(FileData)
  end;

解決方法是用第三方控制元件Rave,裡面有個RzVersionInofo,放上去編譯的時候勾選Including version information in project,就可以獲取版本號了,獲取方法:Showmessage(RzVersionInofo1.FileVersion);

相關推薦

Delphi2010如何獲取程式內部自身版本

用原來的GetFileVersionInfo只能獲取Delpi7的程式版本號,用在Delphi2010中就不管用了 //------ 獲取檔案版本號function F_GetFileVersion(FN: string): string;var  Temp, InfoSi

Android基礎:教你如何獲取軟體自身版本和Android系統版本

前言 在Android軟體開發過程中,版本升級常常需要得到軟體版本,與伺服器作對比後決定是否升級,那麼如何獲取軟體版本呢?有時我們需要獲取系統版本已決定載入合適的資原始檔,系統版本又如何得到呢?假如我

android獲取當前軟件版本版本名稱

.get 軟件 版本 exceptio ctx ica blog found 版本號 <span style="font-size:18px;">/** * 獲取本地軟件版本號 */ public stati

獲取各瀏覽器的版本

nav like tolower agent document amp java scrip edge browser: { chrome: /chrome\/(\d+\.\d+)/i.test(navigator.userAgent) ? +RegExp

java使用apk-parser解析apk,獲取manifest中的版本及自定義變數

apk-parser地址: https://github.com/hsiafan/apk-parser 1.獲取版本號等資訊: try (ApkFile apkFile = new ApkFile(new File(filePath))) { ApkMeta apkMeta

C# 獲取系統當前IE版本

1. 登錄檔中,IE的位置: 計算機\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Internet Explorer 2. 通過登錄檔讀取IE配置 1 RegistryKey mainKey = Registry.LocalMachi

程式中讀取ANDROID應用的程式名稱和版本

在ANDROID應用中,我們經常會需要在應用的介紹和說明中顯示程式名稱和版本號。當然,我們可以用硬編碼的方式在程式碼中直接寫進去,但這樣每一次版本升級的時候都需要去更改,勢必不是很方便。那麼,怎麼讀取ANDROID應用的程式名稱和版本號呢? 其實很簡單,ANDROID系統

版本更新,獲取當前app的版本版本名稱.

versionCode:用於本地app和後臺的app提供的版本進行對比,用於更新功能實現。versionName:用於展現給客戶看的版本資訊。 1.app更新功能; 2.app靜默下載、靜默安裝; 3.

獲取伺服器的mysql版本 php版本 url以及檔案目錄

獲取PHP版本號: <?PHP echo PHP_VERSION; ?> 獲取MYSQL支援: <?php echo function_exists (mysql_close)?"是":"否"; ?> MySQL資料庫持續連線: &l

Android獲取APP的應用程式名稱、包名、圖示,版本基本資訊

在開發過程中  我們經常需要獲取程式名稱, 包名 版本號等相關資訊,只需要用到下面這個工具類,即可: /跟App相關的輔助類 public class AppUtils { /** * 獲取應用程式名稱 */ public stati

MFC中獲取程式自身版本資訊

收集整理自CSDN論壇。 首先、在Stdafx.h中引入連結庫: #pragma comment(lib,"Version.lib") 在對應的處理方法中如下: char FileVerInfo[4096]; DWORD dwVerLen = 0; CString strPath

c#獲取程式版本

Content.Text = "程式集版本:" + System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString() +"\n";Content.Text +

Ranorex獲取被測程式(.exe)的版本並輸出到報告

       Ranorex是一款自動化測試工具,集移動端、web、桌面程式為一體的,很強大及使用靈活。具體可網上下載學習。但目前使用的使用者不多,是收費版的,但網上有破解版可使用。       上一遍我寫了怎麼獲取SVN的版

VC獲得程式自身版本

作業系統: Windows7 64位 執行環境: Visual Studio 10 檔案編碼: Unicode char* GetLocalPogramVersion() { TCHAR pFi

如何獲取應用程式版本和版本名

實現獲取應用程式的版本號和阪本名,通過獲取包管理器開始;步驟如下: 程式如下 public class MainActivity extends AppCompatActivity { Co

vc設定程式版本, 獲取程式版本

最近正在學vc,很多不會的,真是寸步難行,好在這個世界有網路這個好東西,遇到問題百度一下或是GOOGLE總能找到看來很有道理的答案,為了方便以後自己的學習,就總結了一下放在這裡,也歡迎大家發表真知灼見。 //很好,很方便,無需修改,可作為程式模組直接呼叫。 //獲取軟體當前的版本 //該版本號是在資原始檔

iOS 獲取程式~專案app名稱、版本、build版本

//聯絡人:石虎 QQ:1224614774 暱稱:嗡嘛呢叭咪哄 /**  1.圖形顯示  2.程式碼實現  3.下載 demo  */ 一、圖形展示 圖1: 圖2: 二、程式碼實現 // //  ViewController.m // 

iOS應用程式之如何獲取版本實現應用更新

{ resultCount = 1; results = ( { artistId = 301724683; artistName = Citibank; artistViewUrl = "http://itunes.apple.com/us/artist/citibank/id3017246

獲取當前程式版本

private int getVersionCode() { try { //獲取packagemanager的例項 PackageManager packageManager = getPackageManager(); //getPackageN

c# winform獲取當前路徑exe程式版本

 通常軟體自動更新時,需要比較新版本與舊版本的版本號,如果新檔案的版本號比舊檔案高,就替換舊檔案。(版本號一般可以在Visual Studio的程式資訊裡定義)  如何取得當前exe程式的版本號呢