2012-09-18 4 views

답변

2

C에서이를 수행하는 일반적인 방법은 그 값 here을 문서화 _WIN32_WINNT 매크로 통해이다. sys.getwindowsversion()은 _WIN32_WINNT를 결정하는 데 간접적으로 사용되어 필요한 모든 비트를 노출합니다.

import sys 

WIN_8 = (6, 2, 0) 
WIN_7 = (6, 1, 0) 
WIN_SERVER_2008 = (6, 0, 1) 
WIN_VISTA_SP1 = (6, 0, 1) 
WIN_VISTA = (6, 0, 0) 
WIN_SERVER_2003_SP2 = (5, 2, 2) 
WIN_SERVER_2003_SP1 = (5, 2, 1) 
WIN_SERVER_2003 = (5, 2, 0) 
WIN_XP_SP3 = (5, 1, 3) 
WIN_XP_SP2 = (5, 1, 2) 
WIN_XP_SP1 = (5, 1, 1) 
WIN_XP = (5, 1, 0) 

def get_winver(): 
    wv = sys.getwindowsversion() 
    if hasattr(wv, 'service_pack_major'): # python >= 2.7 
     sp = wv.service_pack_major or 0 
    else: 
     import re 
     r = re.search("\s\d$", wv.service_pack) 
     sp = int(r.group(0)) if r else 0 
    return (wv.major, wv.minor, sp) 

사용법 :

if get_winver() >= WIN_XP_SP3: 
    ...