ctypes中的结构体内联合语法
我有个关于ctypes语法的小问题,因为关于联合体的文档对我这种初学者来说不太清楚。
假设我想实现一个INPUT结构(可以在这里查看):
typedef struct tagINPUT {
DWORD type;
union {
MOUSEINPUT mi;
KEYBDINPUT ki;
HARDWAREINPUT hi;
} ;
} INPUT, *PINPUT;
我需要修改下面的代码吗?
class INPUTTYPE(Union):
_fields_ = [("mi", MOUSEINPUT),
("ki", KEYBDINPUT),
("hi", HARDWAREINPUT)]
class INPUT(Structure):
_fields_ = [("type", DWORD),
(INPUTTYPE)]
我不太确定联合体是否可以有没有名字的字段,但加一个在Win32API中没有定义的名字似乎有点危险。
谢谢,
Mike