You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
	
	
		
			136 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Python
		
	
		
		
			
		
	
	
			136 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Python
		
	
| 
											3 months ago
										 | # coding:utf-8 | ||
|  | 
 | ||
|  | from ctypes import POINTER, Structure, c_int | ||
|  | from ctypes.wintypes import DWORD, HWND, ULONG, POINT, RECT, UINT | ||
|  | from enum import Enum | ||
|  | 
 | ||
|  | 
 | ||
|  | class WINDOWCOMPOSITIONATTRIB(Enum): | ||
|  |     WCA_UNDEFINED = 0 | ||
|  |     WCA_NCRENDERING_ENABLED = 1 | ||
|  |     WCA_NCRENDERING_POLICY = 2 | ||
|  |     WCA_TRANSITIONS_FORCEDISABLED = 3 | ||
|  |     WCA_ALLOW_NCPAINT = 4 | ||
|  |     WCA_CAPTION_BUTTON_BOUNDS = 5 | ||
|  |     WCA_NONCLIENT_RTL_LAYOUT = 6 | ||
|  |     WCA_FORCE_ICONIC_REPRESENTATION = 7 | ||
|  |     WCA_EXTENDED_FRAME_BOUNDS = 8 | ||
|  |     WCA_HAS_ICONIC_BITMAP = 9 | ||
|  |     WCA_THEME_ATTRIBUTES = 10 | ||
|  |     WCA_NCRENDERING_EXILED = 11 | ||
|  |     WCA_NCADORNMENTINFO = 12 | ||
|  |     WCA_EXCLUDED_FROM_LIVEPREVIEW = 13 | ||
|  |     WCA_VIDEO_OVERLAY_ACTIVE = 14 | ||
|  |     WCA_FORCE_ACTIVEWINDOW_APPEARANCE = 15 | ||
|  |     WCA_DISALLOW_PEEK = 16 | ||
|  |     WCA_CLOAK = 17 | ||
|  |     WCA_CLOAKED = 18 | ||
|  |     WCA_ACCENT_POLICY = 19 | ||
|  |     WCA_FREEZE_REPRESENTATION = 20 | ||
|  |     WCA_EVER_UNCLOAKED = 21 | ||
|  |     WCA_VISUAL_OWNER = 22 | ||
|  |     WCA_LAST = 23 | ||
|  | 
 | ||
|  | 
 | ||
|  | class ACCENT_STATE(Enum): | ||
|  |     """ Client area status enumeration class """ | ||
|  |     ACCENT_DISABLED = 0 | ||
|  |     ACCENT_ENABLE_GRADIENT = 1 | ||
|  |     ACCENT_ENABLE_TRANSPARENTGRADIENT = 2 | ||
|  |     ACCENT_ENABLE_BLURBEHIND = 3           # Aero effect | ||
|  |     ACCENT_ENABLE_ACRYLICBLURBEHIND = 4    # Acrylic effect | ||
|  |     ACCENT_ENABLE_HOSTBACKDROP = 5         # Mica effect | ||
|  |     ACCENT_INVALID_STATE = 6 | ||
|  | 
 | ||
|  | 
 | ||
|  | class ACCENT_POLICY(Structure): | ||
|  |     """ Specific attributes of client area """ | ||
|  | 
 | ||
|  |     _fields_ = [ | ||
|  |         ("AccentState",     DWORD), | ||
|  |         ("AccentFlags",     DWORD), | ||
|  |         ("GradientColor",   DWORD), | ||
|  |         ("AnimationId",     DWORD), | ||
|  |     ] | ||
|  | 
 | ||
|  | 
 | ||
|  | class WINDOWCOMPOSITIONATTRIBDATA(Structure): | ||
|  |     _fields_ = [ | ||
|  |         ("Attribute",   DWORD), | ||
|  |         # Pointer() receives any ctypes type and returns a pointer type | ||
|  |         ("Data",        POINTER(ACCENT_POLICY)), | ||
|  |         ("SizeOfData",  ULONG), | ||
|  |     ] | ||
|  | 
 | ||
|  | 
 | ||
|  | class DWMNCRENDERINGPOLICY(Enum): | ||
|  |     DWMNCRP_USEWINDOWSTYLE = 0 | ||
|  |     DWMNCRP_DISABLED = 1 | ||
|  |     DWMNCRP_ENABLED = 2 | ||
|  |     DWMNCRP_LAS = 3 | ||
|  | 
 | ||
|  | 
 | ||
|  | class DWMWINDOWATTRIBUTE(Enum): | ||
|  |     DWMWA_NCRENDERING_ENABLED = 1 | ||
|  |     DWMWA_NCRENDERING_POLICY = 2 | ||
|  |     DWMWA_TRANSITIONS_FORCEDISABLED = 3 | ||
|  |     DWMWA_ALLOW_NCPAINT = 4 | ||
|  |     DWMWA_CAPTION_BUTTON_BOUNDS = 5 | ||
|  |     DWMWA_NONCLIENT_RTL_LAYOUT = 6 | ||
|  |     DWMWA_FORCE_ICONIC_REPRESENTATION = 7 | ||
|  |     DWMWA_FLIP3D_POLICY = 8 | ||
|  |     DWMWA_EXTENDED_FRAME_BOUNDS = 9 | ||
|  |     DWMWA_HAS_ICONIC_BITMAP = 10 | ||
|  |     DWMWA_DISALLOW_PEEK = 11 | ||
|  |     DWMWA_EXCLUDED_FROM_PEEK = 12 | ||
|  |     DWMWA_CLOAK = 13 | ||
|  |     DWMWA_CLOAKED = 14 | ||
|  |     DWMWA_FREEZE_REPRESENTATION = 15 | ||
|  |     DWMWA_PASSIVE_UPDATE_MODE = 16 | ||
|  |     DWMWA_USE_HOSTBACKDROPBRUSH = 17 | ||
|  |     DWMWA_USE_IMMERSIVE_DARK_MODE = 18 | ||
|  |     DWMWA_WINDOW_CORNER_PREFERENCE = 19 | ||
|  |     DWMWA_BORDER_COLOR = 20 | ||
|  |     DWMWA_CAPTION_COLOR = 21 | ||
|  |     DWMWA_TEXT_COLOR = 22 | ||
|  |     DWMWA_VISIBLE_FRAME_BORDER_THICKNESS = 23 | ||
|  |     DWMWA_LAST = 24 | ||
|  | 
 | ||
|  | 
 | ||
|  | class MARGINS(Structure): | ||
|  |     _fields_ = [ | ||
|  |         ("cxLeftWidth",     c_int), | ||
|  |         ("cxRightWidth",    c_int), | ||
|  |         ("cyTopHeight",     c_int), | ||
|  |         ("cyBottomHeight",  c_int), | ||
|  |     ] | ||
|  | 
 | ||
|  | 
 | ||
|  | class MINMAXINFO(Structure): | ||
|  |     _fields_ = [ | ||
|  |         ("ptReserved",      POINT), | ||
|  |         ("ptMaxSize",       POINT), | ||
|  |         ("ptMaxPosition",   POINT), | ||
|  |         ("ptMinTrackSize",  POINT), | ||
|  |         ("ptMaxTrackSize",  POINT), | ||
|  |     ] | ||
|  | 
 | ||
|  | 
 | ||
|  | class PWINDOWPOS(Structure): | ||
|  |     _fields_ = [ | ||
|  |         ('hWnd',            HWND), | ||
|  |         ('hwndInsertAfter', HWND), | ||
|  |         ('x',               c_int), | ||
|  |         ('y',               c_int), | ||
|  |         ('cx',              c_int), | ||
|  |         ('cy',              c_int), | ||
|  |         ('flags',           UINT) | ||
|  |     ] | ||
|  | 
 | ||
|  | 
 | ||
|  | class NCCALCSIZE_PARAMS(Structure): | ||
|  |     _fields_ = [ | ||
|  |         ('rgrc', RECT*3), | ||
|  |         ('lppos', POINTER(PWINDOWPOS)) | ||
|  |     ] |