Most of the Win32 main loops I\'ve seen are all structured like:
while (GetMessage(&message, NULL, 0, 0) > 0) { TranslateMessage(&message); Di
TranslateMessage() converts virtual keys messages to character input messages.
TranslateMessage()
It is a separate call for the remote chance that under certain circumstances you would want to not produce character input messages for certain virtual keys.