| | |
| | import ctypes |
| |
|
| | BYTE = ctypes.c_byte |
| | WORD = ctypes.c_ushort |
| | DWORD = ctypes.c_ulong |
| |
|
| | |
| | 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 |
| |
|
| | |
| | _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 |
| |
|
| | |
| | |
| | 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 = ctypes.c_void_p |
| |
|
| | 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 |
| |
|
| | |
| | |
| |
|
| | 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)] |
| |
|
| | |
| | |
| |
|
| | 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) |
| |
|