delphi6 判断是否为win7 *** 作系统问题

delphi6 判断是否为win7 *** 作系统问题,第1张

 function GetWindowsVersion: string

    竖拿核var

      Info: OSVERSIONINFO

    begin

      FillChar(Info, sizeof(Info), 0)

      Info.dwOSVersionInfoSize := sizeof(OSVERSIONINFO)

      GetVersionEx(Info)

    end

 余掘   //完全没问题,敏丛我的是win8 ,取的版本号是6.2.9200

delphiXE如何判断 *** 作系统是win7还是winXP?

delphi7的代码在XE上无效,没有那些函数,有哪位大大知道如何准确判断吗?不知道xe有没有这方面的函数

Msdn查一下GetVersionEx这个函数,

看下Getting the System Version 这个例子

我在偶的Vs2010的msdn里搜索到的

D7上的可以话, 可以写在DLL, 然冲郑后调用通过返回值来判断.

XE比d7不是强一点半点,难道没有直接获取系统版本的函数?或更方便的方法?

以下代码 XE + XP下正确, WIN 7没有条件亩如测试

Delphi/Pascal code?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

function GetWindowsVersionString: AnsiString

var

ver: _OSVERSIONINFOA

begin

if GetVersionExA(ver) then

with ver do

Result := Trim(

Format(

'%d.%d build %d %s',

[dwMajorVersion, dwMinorVersion, dwBuildNumber, szCSDVersion]))

else

Result := ''

end

function GetWindowsVersion: String// 读取 *** 作系统迅判启版本

var

AWin32Version: Extended

os: string

begin

os := 'Windows '

AWin32Version := StrtoFloat(Format('%d.%d', [Win32MajorVersion, Win32MinorVersion]))

if Win32Platform = VER_PLATFORM_WIN32S then

Result := os + '32'

else if Win32Platform = VER_PLATFORM_WIN32_WINDOWS then

begin

if AWin32Version = 4.0 thenResult := os + '95'

else if AWin32Version = 4.1 then Result := os + '98'

else if AWin32Version = 4.9 then Result := os + 'Me'

else Result := os + '9x'

end

else if Win32Platform = VER_PLATFORM_WIN32_NT then

begin

if AWin32Version = 3.51 thenResult := os + 'NT 3.51'

else if AWin32Version = 4.0 thenResult := os + 'NT 4.0'

else if AWin32Version = 5.0 thenResult := os + '2000'

else if AWin32Version = 5.1 thenResult := os + 'XP'

else if AWin32Version = 5.2 thenResult := os + '2003'

else if AWin32Version = 6.0 thenResult := os + 'Vista'

else if AWin32Version = 6.1 thenResult := os + '7'

elseResult := os

end

else Result := os + '??'

Result := Result + ' ' + GetWindowsVersionString

end

上边三位~~~

楼主问的是用Delphi获取系统版本.

对你们仨真无语了!

下边这个函数.楼主测试一隐枯下吧!不知是否可行

function GetSystemStr: WideString//读取 *** 作系统版本

var

AWin32Version: Extended

begin

AWin32Version := StrtoFloat(format('%d.%d' ,[Win32MajorVersion, Win32MinorVersion]))

if Win32Platform=VER_PLATFORM_WIN32s then

Result := 'Windows 32'搜脊

else if Win32Platform=VER_PLATFORM_WIN32_WINDOWS then

begin

if AWin32Version=4.0 then

Result := 'Windows 95'

else if AWin32Version=4.1 then

Result := 'Windows 98'

else if AWin32Version=4.9 then

Result := 'Windows Me'

else

Result := 'Windows 9x'

end

else if Win32Platform = VER_PLATFORM_WIN32_NT then

begin

if AWin32Version=3.51 then

Result := 'Windows NT 3.51'

else if AWin32Version=4.0 then

Result := 'Windows NT 4.0'

else if AWin32Version=5.0 then

Result := 'Windows 2000'

else if AWin32Version=5.1 then

Result := 'Windows Xp'

else if AWin32Version=5.2 then

Result := 'Windows 2003'

else if AWin32Version=6.0 then

Result := 'Windows vista'

else

Result := 'Windows'

end

// else if Win32Platform = VER_PLATFORM_WIN32_CE then

// Result := 'Windows CE'

else

Result := 'Windows ??'灶漏洞

end


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12305518.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存