Быстрый вопрос о синтаксисе ctypes, так как документация для Unions не понятна для такого новичка, как я.
Скажем, я хочу реализовать структуру 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 кажется опасным.
Спасибо,
Майк