from cffi import FFI ffi = FFI() ffi.cdef(''' typedef void * HANDLE; typedef HANDLE HWND; typedef int BOOL; typedef unsigned int UINT; typedef int SIZE_T; typedef char * LPTSTR; typedef HANDLE HGLOBAL; typedef HANDLE LPVOID; HWND GetConsoleWindow(void); LPVOID GlobalLock( HGLOBAL hMem ); BOOL GlobalUnlock( HGLOBAL hMem ); HGLOBAL GlobalAlloc(UINT uFlags, SIZE_T dwBytes); BOOL OpenClipboard(HWND hWndNewOwner); BOOL CloseClipboard(void); BOOL EmptyClipboard(void); HANDLE SetClipboardData(UINT uFormat, HANDLE hMem); #define CF_TEXT ... #define GMEM_MOVEABLE ... void * memcpy(void * s1, void * s2, int n); ''') ffi.set_source('_winclipboard_cffi', ''' #include ''', libraries=["user32"]) if __name__ == '__main__': ffi.compile()