python使用ctypes模块调用windowsapi获取系统版本,ctypeswindowsapi,python使用ctyp
python使用ctypes模块调用windowsapi获取系统版本,ctypeswindowsapi,python使用ctyp
python使用ctypes模块调用windows api GetVersionEx获取当前系统版本没有使用python32
[Python]代码
#!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约瑟夫环,100人围成一圈,
- python统计代码行数代码,python统计行数,[Python]代码#实
- 原创Python数代码行数代码,原创python代码行数,如下py
- Python逐块读取大文件行数的代码,python逐行数代码,py
- python二分查找,python二分,python二分查找[P
- python实现的堆排序算法代码,python堆排序算法,def heap
- Python之SMTP 发邮件,pythonsmtp发邮件,这段代码解释了SM
- Python的默认参数详解,python参数详解,文章的主题不要使
- python操作sqlite3数据库完全代码,pythonsqlite3,# Name: pySn
- python一个简单的lisp实现,pythonlisp,#coding=utf-
评论关闭