@@ -339,10 +339,6 @@ def win32_ver(release='', version='', csd='', ptype=''):
339
339
from sys import getwindowsversion
340
340
except ImportError :
341
341
return release , version , csd , ptype
342
- try :
343
- from winreg import OpenKeyEx , QueryValueEx , CloseKey , HKEY_LOCAL_MACHINE
344
- except ImportError :
345
- from _winreg import OpenKeyEx , QueryValueEx , CloseKey , HKEY_LOCAL_MACHINE
346
342
347
343
winver = getwindowsversion ()
348
344
maj , min , build = winver .platform_version or winver [:3 ]
@@ -368,16 +364,20 @@ def win32_ver(release='', version='', csd='', ptype=''):
368
364
_WIN32_SERVER_RELEASES .get ((maj , None )) or
369
365
release )
370
366
371
- key = None
372
367
try :
373
- key = OpenKeyEx (HKEY_LOCAL_MACHINE ,
374
- r'SOFTWARE\Microsoft\Windows NT\CurrentVersion' )
375
- ptype = QueryValueEx (key , 'CurrentType' )[0 ]
376
- except :
368
+ try :
369
+ import winreg
370
+ except ImportError :
371
+ import _winreg as winreg
372
+ except ImportError :
377
373
pass
378
- finally :
379
- if key :
380
- CloseKey (key )
374
+ else :
375
+ try :
376
+ cvkey = r'SOFTWARE\Microsoft\Windows NT\CurrentVersion'
377
+ with winreg .OpenKeyEx (HKEY_LOCAL_MACHINE , cvkey ) as key :
378
+ ptype = QueryValueEx (key , 'CurrentType' )[0 ]
379
+ except :
380
+ pass
381
381
382
382
return release , version , csd , ptype
383
383
0 commit comments