| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2021 人关注过本帖
标题:如果判断当前系统为XP还是为WIN7
只看楼主 加入收藏
aaaaaa
Rank: 8Rank: 8
等 级:贵宾
威 望:21
帖 子:796
专家分:937
注 册:2012-9-4
收藏
得分:0 
Run Ver
Or
Run WinVer

[ 本帖最后由 aaaaaa 于 2015-8-27 15:17 编辑 ]

民工子弟学校22班团小组长阳光模特队长冲锋篮球队前锋小苹果合唱队领唱蓝天舞蹈队编舞
2015-08-27 13:48
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
VFP的 OS() 现在可能不适用了,自从Win8后,GetVersion()/GetVersionEx()就不灵了。
据说微软“废除”了GetVersion()/GetVersionEx(),并建议使用 VerifyVersionInfo() 来获取版本信息。
微软提供了VersionHelpers.h头文件,里面声明有获取系统版本的函数:
IsWindowsXPOrGreater()   
IsWindowsXPSP1OrGreater()
IsWindowsXPSP2OrGreater()
IsWindowsXPSP3OrGreater()
IsWindowsVistaOrGreater()
IsWindowsVistaSP1OrGreater()
IsWindowsVistaSP2OrGreater()
IsWindows7OrGreater()
IsWindows7SP1OrGreater()
IsWindows8OrGreater()
IsWindows8Point1OrGreater()
IsWindows10OrGreater()
IsWindowsServer()
IsWindowsVersionOrGreater()
详细参考:https://msdn.

也有人说 ntdll.dll 文件的版本基本上就是系统的版本。
AGETFILEVERSION(aFile, "ntdll.dll")
?"版本:", aFile[4]
2015-08-27 15:27
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
11楼原来的代码就可以在Win10上看到正确版本,跟9楼一样的。

授人以渔,不授人以鱼。
2015-08-27 15:33
aaaaaa
Rank: 8Rank: 8
等 级:贵宾
威 望:21
帖 子:796
专家分:937
注 册:2012-9-4
收藏
得分:0 
Operating system : Windows 10 10.0* 10 0
Version number : 10.0*
dwMajorVersion : 10
dwMinorVersion : 0

*!*    OSVERSIONINFO Structure
*!*    https://msdn.

Clear
*| typedef struct _OSVERSIONINFO{
*|   DWORD dwOSVersionInfoSize;  0 | 4
*|   DWORD dwMajorVersion;       4 | 4
*|   DWORD dwMinorVersion;       8 | 4
*|   DWORD dwBuildNumber;       12 | 4
*|   DWORD dwPlatformId;        16 | 4
*|   TCHAR szCSDVersion[ 128 ]; 20 | 128 = 148 bytes
*| } OSVERSIONINFO;
?
*| typedef struct _OSVERSIONINFOEX {
*|   DWORD dwOSVersionInfoSize;  0 | 4
*|   DWORD dwMajorVersion;       4 | 4
*|   DWORD dwMinorVersion;       8 | 4
*|   DWORD dwBuildNumber;       12 | 4
*|   DWORD dwPlatformId;        16 | 4
*|   TCHAR szCSDVersion[ 128 ]; 20 | 128
*|   WORD wServicePackMajor;   148 | 2
*|   WORD wServicePackMinor;   150 | 2
*|   WORD wSuiteMask;          152 | 2
*|   BYTE wProductType;        154 | 1
*|   BYTE wReserved;           155 | 1 = 156 bytes
*| } OSVERSIONINFOEX, *POSVERSIONINFOEX, *LPOSVERSIONINFOEX;
?
DECLARE INTEGER GetVersionEx IN kernel32;
    STRING @ lpVersionInformation

* set dwOSVersionInfoSize to 148 (OSVERSIONINFO)
* or 156 (OSVERSIONINFOEX) bytes
lcInfo = Chr(156) + REPLI (Chr(0), 300)  && some loose space

nResult = GetVersionEx (@lcInfo)

? "Major Version      : ", buf2dword(SUBSTR(lcInfo,  5,4))
? "Minor Version      : ", buf2dword(SUBSTR(lcInfo,  9,4))
? "Build Number       : ", buf2dword(SUBSTR(lcInfo, 13,4))
? "szCSDVersion       : ", "["+STRTRAN(SUBSTR(lcInfo, 21,128), Chr(0),"")+"]"

? "Major Service Pack : ", buf2word(SUBSTR(lcInfo,  149,2))
? "Minor Service Pack : ", buf2word(SUBSTR(lcInfo,  151,2))
? "Suite Bit Flags    : ", buf2word(SUBSTR(lcInfo,  153,2))
? "Product Type       : ", Asc(SUBSTR(lcInfo,155,1))
? "Reserved Byte      : ", Asc(SUBSTR(lcInfo,156,1))

FUNCTION  buf2dword (lcBuffer)
RETURN;
    Asc(SUBSTR(lcBuffer, 1,1)) + ;
    Asc(SUBSTR(lcBuffer, 2,1)) * 256 +;
    Asc(SUBSTR(lcBuffer, 3,1)) * 65536 +;
    Asc(SUBSTR(lcBuffer, 4,1)) * 16777216
ENDFUNC

FUNCTION  buf2word (lcBuffer)
RETURN;
    Asc(SUBSTR(lcBuffer, 1,1)) + ;
    Asc(SUBSTR(lcBuffer, 2,1)) * 256
ENDFUNC

民工子弟学校22班团小组长阳光模特队长冲锋篮球队前锋小苹果合唱队领唱蓝天舞蹈队编舞
2015-08-27 21:35
xs591222
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:682
专家分:1299
注 册:2009-3-1
收藏
得分:4 
保存,需要时方便查询。谢谢
2015-08-28 18:15
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
Windows看内核才是重要的,对外显示的版本号是没啥大用处的。

授人以渔,不授人以鱼。
2015-08-28 19:40
aaaaaa
Rank: 8Rank: 8
等 级:贵宾
威 望:21
帖 子:796
专家分:937
注 册:2012-9-4
收藏
得分:4 
Run SYSTEMINFO /S My_IP_Address
E.G :
Run SYSTEMINFO /S 192.168.1.100

民工子弟学校22班团小组长阳光模特队长冲锋篮球队前锋小苹果合唱队领唱蓝天舞蹈队编舞
2015-08-28 19:59
快速回复:如果判断当前系统为XP还是为WIN7
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024295 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved