python使用ctypes模块调用windows api GetVersionEx获取当前系统版本,没有使用python32
复制代码 代码如下:
#!c:/python27/python.exe
#-*- coding:utf-8 -*-
"通过调用Window API判断当前系统版本"
# 演示通过ctypes调用windows api函数.
# 作者已经知道python32能够实现相同功能
# 语句末尾加分号,纯属个人习惯
# 仅作部分版本判断,更详细的版本判断推荐系统OSVERSIONINFOEX结构体
import ctypes;
class OSINFO(ctypes.Structure):
_fields_ = [
("dwOSVersionInfoSize",ctypes.c_long),
("dwMajorVersion",ctypes.c_long),
("dwMinorVersion",ctypes.c_long),
("dwBuildNumber",ctypes.c_long),
("dwPlatformId",ctypes.c_long),
("szCSDVersion",ctypes.c_char*128)
];
def GetSystemVersionString():
kernel32 = ctypes.windll.LoadLibrary("kernel32.dll");
os = OSINFO();
os.dwOSVersionInfoSize = ctypes.sizeof(os);
if kernel32.GetVersionExA(ctypes.byref(os))==0:
return "Null Version";
if os.dwPlatformId==1: #windows 95/98/me
if os.dwMajorVersion==4 and os.dwMinorVersion==0:
verStr = "windows 95";
elif os.dwMajorVersion==4 and os.dwMinorVersion==10:
verStr = "windows 98";
elif os.dwMajorVersion==4 and os.dwMinorVersion==90:
verStr = "windows me";
else:
verStr = "unknown version";
elif os.dwPlatformId==2: #windows vista/server 2008/server 2003/xp/2000/nt
if os.dwMajorVersion==4 and os.dwMinorVersion==0:
verStr = "windows nt 4.0";
elif os.dwMajorVersion==5 and os.dwMinorVersion==0:
verStr = "windows 2000";
elif os.dwMajorVersion==5 and os.dwMinorVersion==1:
verStr = "windows xp";
elif os.dwMajorVersion==5 and os.dwMinorVersion==2:
verStr = "windows 2003";
elif os.dwMajorVersion==6 and os.dwMinorVersion==0:
verStr = "windows vista"; # or 2008
elif os.dwMajorVersion>=0:
verStr = "windows 7";
else:
verStr = "unknown version";
else:
return "unknown Version";
return verStr+" build"+str(os.dwBuildNumber)+" "+ctypes.string_at(os.szCSDVersion);
if __name__ == "__main__":
print(GetSystemVersionString());
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。