Система обмена сообщениями Windows назначает время сообщения как DWORD для каждого сообщения.Какой формат является членом времени структуры MSG?
typedef struct tagMSG {
HWND hwnd;
UINT message;
WPARAM wParam;
LPARAM lParam;
DWORD time; // <---
POINT pt;
} MSG, *PMSG, *LPMSG;
Но я не могу найти документацию, указывающую, что представляет этот DWORD. Это секунды, миллисекунды, наносекунды? С какой точки в истории он подсчитывает?
Хотя может быть полезно узнать, какая единица представляет собой член 'time' (миллисекунды), я не вижу веских оснований спрашивать о его базе. Единственной полезной информацией, которую вы можете извлечь из нее, является временной интервал *. Если вы просите о его базе, вы, скорее всего, пойдете в неправильном направлении. – IInspectable
Не зная, что представляет база, невозможно преобразовать «время» в стандартный формат, и сравнивать его с отметками времени других форматов невозможно. Вы даже не можете определить интервал между тем, когда сообщение отправлено и когда оно было извлечено из очереди, не зная базы. –
Ну, правда, диагностика (и, возможно, настройка времени исполнения) гарантировала бы знание абсолютной базы 'time'. Я предполагаю, что преобразование между различными форматами отображения является всего лишь артефактом регистрации/представления диагностической информации. – IInspectable