В Windows программный код служит только для описания поведения объекта. На первый план выступают данные, несущие информацию об объектах и осуществляющие обмен информацией между объектами.
Управляющие данные называют сообщениями. Все сообщения имеют единый формат. В Windows модель данных, управляющих объектами, реализуется при помощи механизма сообщений.
Механизм сообщений Windows заключается в том, что, если происходят события, относящиеся к приложению, то приложение получает соответствующее сообщение, которое оно может распознать и выполнить в ответ на него определенные действия.
Каждое приложение состоит из нескольких объектов-«окон», поэтому сообщения направляются вначале в очередь приложения, а затем поступают соответствующему объекту-«окну». Посредством сообщения окно получает информацию о всех событиях в системе Windows, касающихся данного окна. Все внешние по отношению к приложению события кодируются и в виде сообщений направляются в очередь приложения.
Сообщения, которые получает объект-«окно», возникают в результате действия пользователя, которые он выполняет при работе с приложением. Например, объект-«окно» приложения может получать сообщения о нажатии или отпускании клавиш клавиатуры или кнопок мыши. Так при нажатии клавиши приложение получает сообщение WM_KEYDOWN, а при нажатии левой кнопки мыши - сообщение WM_LBUTTONDOWN.
Сообщения приложение может получать и непосредственно от Windows. Например, приход сигнала от таймера кодируется сообщением WM_TIMER, или если пользователь изменил размер области окна приложения на дисплее, то Windows посылает приложению сообщение WM_PAINT, которое говорит о том, что нужно перерисовать область окна и т.п.
Наконец приложение может направлять сообщения самому себе.
Если обычная программа под MS-DOS получает управление при загрузке и передает его системе только по завершении работы, то приложение Windows - это определенная совокупность реакций на внешние события, это - объект, обрабатывающий информацию, более пассивный, чем программа MS-DOS.