WIP
This commit is contained in:
		@ -0,0 +1,29 @@
 | 
			
		||||
import platform
 | 
			
		||||
import ctypes
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def windows_only(func):
 | 
			
		||||
    if platform.system() != 'Windows':
 | 
			
		||||
        return lambda *args, **kwargs: None
 | 
			
		||||
    return func
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@windows_only
 | 
			
		||||
def hide_file(path):
 | 
			
		||||
    """
 | 
			
		||||
    Set the hidden attribute on a file or directory.
 | 
			
		||||
 | 
			
		||||
    From http://stackoverflow.com/questions/19622133/
 | 
			
		||||
 | 
			
		||||
    `path` must be text.
 | 
			
		||||
    """
 | 
			
		||||
    __import__('ctypes.wintypes')
 | 
			
		||||
    SetFileAttributes = ctypes.windll.kernel32.SetFileAttributesW
 | 
			
		||||
    SetFileAttributes.argtypes = ctypes.wintypes.LPWSTR, ctypes.wintypes.DWORD
 | 
			
		||||
    SetFileAttributes.restype = ctypes.wintypes.BOOL
 | 
			
		||||
 | 
			
		||||
    FILE_ATTRIBUTE_HIDDEN = 0x02
 | 
			
		||||
 | 
			
		||||
    ret = SetFileAttributes(path, FILE_ATTRIBUTE_HIDDEN)
 | 
			
		||||
    if not ret:
 | 
			
		||||
        raise ctypes.WinError()
 | 
			
		||||
		Reference in New Issue
	
	Block a user