def get_windows_disks(self):
""" Return disks available on Windows machine
:return: list of characters representing available disks
"""
disks = list()
import ctypes
kernel32 = ctypes.WinDLL('kernel32')
SEM_FAILCRITICALERRORS = 1
SEM_NOOPENFILEERRORBOX = 0x8000
SEM_FAIL = SEM_NOOPENFILEERRORBOX | SEM_FAILCRITICALERRORS
oldmode = ctypes.c_uint()
kernel32.SetThreadErrorMode(SEM_FAIL, ctypes.byref(oldmode))
for s in string.ascii_uppercase:
n = s + WINDOWS_DISK_SUFFIX
if os.path.exists(n):
disks.append(n)
kernel32.SetThreadErrorMode(oldmode, ctypes.byref(oldmode))
return disks
评论列表
文章目录