2024-10-01 22:25:49 发布
网友
我不完全确定这个特定的结构是如何用ctypes在Python中创建的,因为它有一个嵌套的Union块。在
Union
typedef struct tagINPUT { DWORD type; union { MOUSEINPUT mi; KEYBDINPUT ki; HARDWAREINPUT hi; }; } INPUT, *PINPUT;
如何处理嵌套的Union块?在
由于此联合从未在INPUT之外正确使用,因此可以将其创建为嵌套类:
INPUT
class INPUT(Structure): class _I(Union): _fields_ = [ ('mi', MOUSEINPUT), ('ki', KEYBDINPUT), ('hi', HARDWAREINPUT), ] _anonymous_ = ('i', ) _fields_ = [ ('type', DWORD), ('i', _I), ]
即使您没有使用anonymous,也可以使用input.i.hi.uMsg这样的操作。在
input.i.hi.uMsg
由于此联合从未在
INPUT
之外正确使用,因此可以将其创建为嵌套类:即使您没有使用anonymous,也可以使用
^{pr2}$input.i.hi.uMsg
这样的操作。在相关问题 更多 >
编程相关推荐