You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
844 B
37 lines
844 B
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 <windows.h>
|
|
''', libraries=["user32"])
|
|
|
|
if __name__ == '__main__':
|
|
ffi.compile()
|