相关疑难解决方法(0)

使用Build获取FileVersion

DelphiXe.

为了接收文件的版本我使用的功能:

function FileVersion(AFileName: string): string;
var
  szName: array[0..255] of Char;
  P: Pointer;
  Value: Pointer;
  Len: UINT;
  GetTranslationString: string;
  FFileName: PChar;
  FValid: boolean;
  FSize: DWORD;
  FHandle: DWORD;
  FBuffer: PChar;
begin
  try
    FFileName := StrPCopy(StrAlloc(Length(AFileName) + 1), AFileName);
    FValid := False;
    FSize := GetFileVersionInfoSize(FFileName, FHandle);
    if FSize > 0 then
    try
      GetMem(FBuffer, FSize);
      FValid := GetFileVersionInfo(FFileName, FHandle, FSize, FBuffer);
    except
      FValid := False;
      raise;
    end;
    Result := '';
    if FValid then
      VerQueryValue(FBuffer, '\VarFileInfo\Translation', p, Len)
    else
      p := nil;
    if P …
Run Code Online (Sandbox Code Playgroud)

delphi

5
推荐指数
1
解决办法
1万
查看次数

如何使用 Delphi 10.3.3 检测 Windows 11

我使用 TOSVersion.ToString 函数(使用 SysUtils)来检测 Windows 版本。然而,这是我在 Windows11 中得到的:

Windows 10 (Version 10.0, Build 21996, 64-bit Edition)

有没有可靠的方法来检测Windows 11?我正在使用德尔福10.3.3。

更新:Windows 11 正式发布,我再次尝试。这是我得到的:

Windows 10 (Version 10.0, Build 22000, 64-bit Edition)

delphi delphi-10.3-rio windows-11

5
推荐指数
1
解决办法
5461
查看次数

标签 统计

delphi ×2

delphi-10.3-rio ×1

windows-11 ×1