python使用ctypes模块调用windowsapi获取系统版本示例
python使用ctypes模块调用windowsapi获取系统版本示例
发布时间:2016-12-28 来源:查字典编辑
摘要:python使用ctypes模块调用windowsapiGetVersionEx获取当前系统版本,没有使用python32复制代码代码如下:...

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());

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新python学习
热门python学习
脚本专栏子分类