源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

python使用ctypes模块调用windowsapi获取系统版本示例

  • 时间:2022-07-20 13:21 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:python使用ctypes模块调用windowsapi获取系统版本示例
python使用ctypes模块调用windows api GetVersionEx获取当前系统版本,没有使用python32
[u]复制代码[/u] 代码如下:
#!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());
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部