/
/
usr
/
lib64
/
python3.11
/
ctypes
EDITOR
/usr/lib64/python3.11/ctypes/wintypes.py
SAVE
CLOSE
# The most useful windows datatypes import ctypes BYTE = ctypes.c_byte WORD = ctypes.c_ushort DWORD = ctypes.c_ulong #UCHAR = ctypes.c_uchar CHAR = ctypes.c_char WCHAR = ctypes.c_wchar UINT = ctypes.c_uint INT = ctypes.c_int DOUBLE = ctypes.c_double FLOAT = ctypes.c_float BOOLEAN = BYTE BOOL = ctypes.c_long class VARIANT_BOOL(ctypes._SimpleCData): _type_ = "v" def __repr__(self): return "%s(%r)" % (self.__class__.__name__, self.value) ULONG = ctypes.c_ulong LONG = ctypes.c_long USHORT = ctypes.c_ushort SHORT = ctypes.c_short # in the windows header files, these are structures. _LARGE_INTEGER = LARGE_INTEGER = ctypes.c_longlong _ULARGE_INTEGER = ULARGE_INTEGER = ctypes.c_ulonglong LPCOLESTR = LPOLESTR = OLESTR = ctypes.c_wchar_p LPCWSTR = LPWSTR = ctypes.c_wchar_p LPCSTR = LPSTR = ctypes.c_char_p LPCVOID = LPVOID = ctypes.c_void_p # WPARAM is defined as UINT_PTR (unsigned type) # LPARAM is defined as LONG_PTR (signed type) if ctypes.sizeof(ctypes.c_long) == ctypes.sizeof(ctypes.c_void_p): WPARAM = ctypes.c_ulong LPARAM = ctypes.c_long elif ctypes.sizeof(ctypes.c_longlong) == ctypes.sizeof(ctypes.c_void_p): WPARAM = ctypes.c_ulonglong LPARAM = ctypes.c_longlong ATOM = WORD LANGID = WORD COLORREF = DWORD LGRPID = DWORD LCTYPE = DWORD LCID = DWORD ################################################################ # HANDLE types HANDLE = ctypes.c_void_p # in the header files: void * HACCEL = HANDLE HBITMAP = HANDLE HBRUSH = HANDLE HCOLORSPACE = HANDLE HDC = HANDLE HDESK = HANDLE HDWP = HANDLE HENHMETAFILE = HANDLE HFONT = HANDLE HGDIOBJ = HANDLE HGLOBAL = HANDLE HHOOK = HANDLE HICON = HANDLE HINSTANCE = HANDLE HKEY = HANDLE HKL = HANDLE HLOCAL = HANDLE HMENU = HANDLE HMETAFILE = HANDLE HMODULE = HANDLE HMONITOR = HANDLE HPALETTE = HANDLE HPEN = HANDLE HRGN = HANDLE HRSRC = HANDLE HSTR = HANDLE HTASK = HANDLE HWINSTA = HANDLE HWND = HANDLE SC_HANDLE = HANDLE SERVICE_STATUS_HANDLE = HANDLE ################################################################ # Some important structure definitions class RECT(ctypes.Structure): _fields_ = [("left", LONG), ("top", LONG), ("right", LONG), ("bottom", LONG)] tagRECT = _RECTL = RECTL = RECT class _SMALL_RECT(ctypes.Structure): _fields_ = [('Left', SHORT), ('Top', SHORT), ('Right', SHORT), ('Bottom', SHORT)] SMALL_RECT = _SMALL_RECT class _COORD(ctypes.Structure): _fields_ = [('X', SHORT), ('Y', SHORT)] class POINT(ctypes.Structure): _fields_ = [("x", LONG), ("y", LONG)] tagPOINT = _POINTL = POINTL = POINT class SIZE(ctypes.Structure): _fields_ = [("cx", LONG), ("cy", LONG)] tagSIZE = SIZEL = SIZE def RGB(red, green, blue): return red + (green << 8) + (blue << 16) class FILETIME(ctypes.Structure): _fields_ = [("dwLowDateTime", DWORD), ("dwHighDateTime", DWORD)] _FILETIME = FILETIME class MSG(ctypes.Structure): _fields_ = [("hWnd", HWND), ("message", UINT), ("wParam", WPARAM), ("lParam", LPARAM), ("time", DWORD), ("pt", POINT)] tagMSG = MSG MAX_PATH = 260 class WIN32_FIND_DATAA(ctypes.Structure): _fields_ = [("dwFileAttributes", DWORD), ("ftCreationTime", FILETIME), ("ftLastAccessTime", FILETIME), ("ftLastWriteTime", FILETIME), ("nFileSizeHigh", DWORD), ("nFileSizeLow", DWORD), ("dwReserved0", DWORD), ("dwReserved1", DWORD), ("cFileName", CHAR * MAX_PATH), ("cAlternateFileName", CHAR * 14)] class WIN32_FIND_DATAW(ctypes.Structure): _fields_ = [("dwFileAttributes", DWORD), ("ftCreationTime", FILETIME), ("ftLastAccessTime", FILETIME), ("ftLastWriteTime", FILETIME), ("nFileSizeHigh", DWORD), ("nFileSizeLow", DWORD), ("dwReserved0", DWORD), ("dwReserved1", DWORD), ("cFileName", WCHAR * MAX_PATH), ("cAlternateFileName", WCHAR * 14)] ################################################################ # Pointer types LPBOOL = PBOOL = ctypes.POINTER(BOOL) PBOOLEAN = ctypes.POINTER(BOOLEAN) LPBYTE = PBYTE = ctypes.POINTER(BYTE) PCHAR = ctypes.POINTER(CHAR) LPCOLORREF = ctypes.POINTER(COLORREF) LPDWORD = PDWORD = ctypes.POINTER(DWORD) LPFILETIME = PFILETIME = ctypes.POINTER(FILETIME) PFLOAT = ctypes.POINTER(FLOAT) LPHANDLE = PHANDLE = ctypes.POINTER(HANDLE) PHKEY = ctypes.POINTER(HKEY) LPHKL = ctypes.POINTER(HKL) LPINT = PINT = ctypes.POINTER(INT) PLARGE_INTEGER = ctypes.POINTER(LARGE_INTEGER) PLCID = ctypes.POINTER(LCID) LPLONG = PLONG = ctypes.POINTER(LONG) LPMSG = PMSG = ctypes.POINTER(MSG) LPPOINT = PPOINT = ctypes.POINTER(POINT) PPOINTL = ctypes.POINTER(POINTL) LPRECT = PRECT = ctypes.POINTER(RECT) LPRECTL = PRECTL = ctypes.POINTER(RECTL) LPSC_HANDLE = ctypes.POINTER(SC_HANDLE) PSHORT = ctypes.POINTER(SHORT) LPSIZE = PSIZE = ctypes.POINTER(SIZE) LPSIZEL = PSIZEL = ctypes.POINTER(SIZEL) PSMALL_RECT = ctypes.POINTER(SMALL_RECT) LPUINT = PUINT = ctypes.POINTER(UINT) PULARGE_INTEGER = ctypes.POINTER(ULARGE_INTEGER) PULONG = ctypes.POINTER(ULONG) PUSHORT = ctypes.POINTER(USHORT) PWCHAR = ctypes.POINTER(WCHAR) LPWIN32_FIND_DATAA = PWIN32_FIND_DATAA = ctypes.POINTER(WIN32_FIND_DATAA) LPWIN32_FIND_DATAW = PWIN32_FIND_DATAW = ctypes.POINTER(WIN32_FIND_DATAW) LPWORD = PWORD = ctypes.POINTER(WORD)
Ln 1, Col 1
FORMAT
WRAP
SAVE FILE
ONLINE
ctypes
7 items
18:05:25
TERMINAL FM
×
NAVIGATION
Root
Parent Dir
Refresh
ACTIONS
New Folder
New File
Upload Files
New Symlink
SELECTION
Select All
Deselect
Delete Selected
NEW FOLDER
FOLDER NAME
NEW FILE
FILE NAME
UPLOAD FILES
Click to browse or drag & drop files
No files selected
RENAME
CURRENT NAME
NEW NAME
COPY FILE
SOURCE
DESTINATION NAME
CHMOD
FILE / FOLDER
CURRENT PERMISSIONS
NEW MODE (octal)
755 (rwxr-xr-x)
644 (rw-r--r--)
777 (rwxrwxrwx)
600 (rw-------)
444 (r--r--r--)
CONFIRM DELETE
You are about to delete:
This action is irreversible. All contents will be permanently removed.
NEW SYMLINK
LINK TARGET (path)
LINK NAME
Edit
Preview
Download
Rename
Copy
Chmod
Delete