获取操作系统版本的问题

w7 2012-09-06 01:18:48
这样获取操作系统版本可以吗?为什么第一次点按钮时得到的是一个很大的随机数,再点得到都是3,
咋回事?

procedure TForm1.btnTestClick(Sender: TObject);
var
osInfo : OSVERSIONINFO;
begin
GetVersionEx(osInfo);
ShowMessage(IntToStr(osInfo.dwMajorVersion));
end;

...全文
90 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ffwin 2012-09-06
  • 打赏
  • 举报
回复
procedure GetOSInfo;
var
Platform: string;
BuildNumber: integer;
begin
case Win32Platform of
Ver_Platform_Win32s:
begin
Platform := 'Windows 3.1';
BuildNumber := 0;
end;
VER_PLATFORM_WIN32_WINDOWS:
begin
Platform := 'Windows 95';
BuildNumber := Win32BuildNumber and $0000FFFF;
end;
VER_PLATFORM_WIN32_NT:
begin
Platform := 'Windows NT';
BuildNumber := Win32BuildNumber;
end;
else
begin
Platform := 'Windows';
BuildNumber := 0;
end;
end;

if (Win32MajorVersion = 4) and (Win32MinorVersion = 9) then
Platform := 'Windows Me';

if (Win32MajorVersion = 4) then
if (Win32MinorVersion = 10) then
Platform := 'Windows 98Se'
else
Platform := 'Windows 98';


if (Win32MajorVersion = 5) and (Win32MinorVersion = 0) then
Platform := 'Windows 2000';
if (Win32MajorVersion = 5) and (Win32MinorVersion = 1) then
Platform := 'Windows Xp';
if (Win32MajorVersion = 5) and (Win32MinorVersion = 2) then
Platform := 'Windows 2003';

if (Win32MajorVersion = 6) and (Win32MinorVersion = 0) then
Platform := 'Windows Vista';
if (Win32MajorVersion = 6) and (Win32MinorVersion = 1) then
Platform := 'Windows 7';
if (Win32MajorVersion = 6) and (Win32MinorVersion = 2) then
Platform := 'Windows 8';

if (Win32Platform = VER_PLATFORM_WIN32_WINDOWS) or
(Win32Platform = VER_PLATFORM_WIN32_NT) then
begin
if Win32CSDVersion = '' then
OS.Caption := Format('%s (Build %d)', [Platform, BuildNumber])
else
OS.Caption := Format('%s (Build %d: %s)', [Platform, BuildNumber, Win32CSDVersion]);
end
else
OS.Caption := Format('%s %d.%d', [Platform, Win32MajorVersion,
Win32MinorVersion])
end;
w7 2012-09-06
  • 打赏
  • 举报
回复
原来有变量可以直接使用啊,方便
bdmh 2012-09-06
  • 打赏
  • 举报
回复
设定一下 dwOSVersionInfoSize 的大小http://www.cnblogs.com/VOIP/archive/2011/03/22/1990927.html

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧