在Delphi上如何获得Windows版本是Vista而不是XP?

Rak*_*tti 3 windows delphi winapi delphi-7

有什么方法可以知道我们正在研究哪种Windows版本?

我需要在Windows XP中将图像设置为TBitButton,而在Windows7中没有图像.它应该自动完成.

Ken*_*ite 10

检查SysUtils.Win32MajorVersion(在Delphi 7中,如果不存在,则需要添加SysUtilsuses子句中 - 以后的版本会自动添加它).最简单的方法是Glyph在IDE中像往常一样分配,如果你在Vista或更高版本上运行,则清除它:

if SysUtils.Win32MajorVersion >= 6 then // Windows Vista or higher
  BitBtn1.Glyph := nil;
Run Code Online (Sandbox Code Playgroud)

有关检测特定Windows版本和版本的详细信息,请参阅此文章.它尚未针对最新的Windows版本和版本进行更新,但它将帮助您入门.您还可以搜索SO [delphi] GetVersionEx以查看其他示例.

  • 这是检测Vista/2008及以上的方法.谨防相关功能CheckWin32Version,因为在D6中至少它是完全错误的.它已被修复,但我不确定D7. (3认同)