手机
当前位置:查字典教程网 >脚本专栏 >python >python使用ctypes模块调用windowsapi获取系统版本示例
python使用ctypes模块调用windowsapi获取系统版本示例
摘要: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使用ctypes模块调用windowsapi获取系统版本示例】相关文章:

Python中的并发编程实例

python thread 并发且顺序运行示例

python调用cmd复制文件代码分享

python使用scrapy解析js示例

python使用win32com在百度空间插入html元素示例

python使用新浪微博api上传图片到微博示例

python获取糗百图片代码实例

python使用rabbitmq实现网络爬虫示例

python sys模块sys.path使用方法示例

python读取浮点数和读取文本文件示例

精品推荐
分类导航