ホームページ > バックエンド開発 > Python チュートリアル > Python は ctypes モジュールを使用して windowsapi を呼び出し、システム バージョンの例を取得します

Python は ctypes モジュールを使用して windowsapi を呼び出し、システム バージョンの例を取得します

WBOY
リリース: 2016-06-16 08:44:32
オリジナル
1558 人が閲覧しました

Python は ctypes モジュールを使用して Windows API GetVersionEx を呼び出し、現在のシステム バージョンを取得します。python32 は使用されません

コードをコピー コードは次のとおりです:

#!c:/python27/python.exe
#- *- コーディング:utf-8 -*-

"Window API を呼び出して現在のシステム バージョンを確認します"
# ctypes を介して Windows API 関数を呼び出す方法を示します。
# 作成者は、python32 で同じ機能を実現できることをすでに知っています
# セミコロンを追加します文末は完全に個人的な習慣です
# 部分的なバージョン判定のみを行い、より詳細なバージョン判定推奨システム OSVERSIONINFOEX 構造体

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),
("szCSSDVersion",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 および os.dwMinorVersion==0:
verStr = "windows 95";
elif os.dwMajorVersion==4 および os.dwMinorVersion==10:
verStr = "windows 98" ;
elif os.dwMajorVersion==4 および os.dwMinorVersion==90:
verStr = "windows me";
else:
verStr = "不明なバージョン";
elif os。 dwPlatformId==2: #windows vista/server 2008/server 2003/xp/2000/nt
if os.dwMajorVersion==4 および os.dwMinorVersion==0:
verStr = "windows nt 4.0";
elif os.dwMajorVersion==5 および os.dwMinorVersion==0:
verStr = "windows 2000";
elif os.dwMajorVersion==5 および os.dwMinorVersion==1:
verStr = "windows xp";
elif os.dwMajorVersion==5 および os.dwMinorVersion==2:
verStr = "windows 2003";
elif os.dwMajorVersion==6 および os.dwMinorVersion==0 :
verStr = "windows vista"; # または 2008
elif os.dwMajorVersion>=0:
verStr = "windows 7";
else:
verStr = "不明なバージョン";
else:
return "不明なバージョン";
return verStr+" build"+str(os.dwBuildNumber)+" "+ctypes.string_at(os.szCSSDVersion);

if __name__ == "__main__":
print(GetSystemVersionString());

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート