yeah they all must differentiate btw 32/64bit using whether stdlib\_ctypes.pyd or stdlib64\_ctypes.pyd (which you must include yourself, it's in nearly every ac-app)
if platform.architecture()[0] == "64bit":
dllfolder = "stdlib64"
else:
dllfolder = "stdlib"
cwd = os.path.dirname(os.path.realpath(__file__))
sys.path.insert(0, os.path.join(cwd, dllfolder))
userDir=''
CSIDL_PERSONAL = 5 # My Documents
SHGFP_TYPE_CURRENT = 0 # Get current, not default value
buf = ctypes.create_unicode_buffer(ctypes.wintypes.MAX_PATH)
ctypes.windll.shell32.SHGetFolderPathW(None, CSIDL_PERSONAL, None, SHGFP_TYPE_CURRENT, buf)
userDir = buf.value # bingo, userdir/documents!