import ctypes from predict import solve def shot(target, width, height): lib = ctypes.CDLL('./shotrdp.dll') lib.GetScreen.argtypes = [ ctypes.c_char_p, ctypes.POINTER(ctypes.POINTER(ctypes.c_char)), ctypes.POINTER(ctypes.c_int), ctypes.c_int, ctypes.c_int, ] lib.GetScreen.restype = ctypes.c_char_p data = ctypes.POINTER(ctypes.c_char)() length = ctypes.c_int() error_ptr = lib.GetScreen(target, ctypes.byref(data), ctypes.byref(length), width, height) if error_ptr: print(ctypes.string_at(error_ptr).decode()) else: image_bytes = ctypes.string_at(data, length.value) result = solve(image_bytes) # with open('./screen/0.png', 'wb') as f: # f.write(result) lib.Free(data) if __name__ == '__main__': shot(b'127.0.0.1:3389', 1024, 800)