def WRFun(name, dll, result, *args): '''myfunc = wfunc( '函数名', DLL, 返回值类型, (参数类型, '参数名', 参数方向,默认值), (参数类型, '参数名', 参数方向,默认值) ) ''' atypes = [] aflags = [] for arg in args: atypes.append(arg[0]) aflags.append((arg[2], arg[1]) + arg[3:]) func = WINFUNCTYPE(result, *atypes)((name, dll), tuple(aflags)) #func.errcheck = ErrCheck func.FuncName = name return func