ПОЛЬЗОВАТЕЛЬ Windows
Достоверность . утверждений, изложенных в этой статье, оспаривается ( Март 2022 г. ) |
Windows USER — это компонент Microsoft Windows операционной системы , обеспечивающий основные функции для создания простых пользовательских интерфейсов . Компонент существовал во всех версиях Windows и включает в себя функции управления окнами , передачи сообщений , обработки ввода и стандартных элементов управления .
Функциональность и роль
[ редактировать ]Windows USER обеспечивает большую часть основного пользовательского интерфейса Microsoft Windows. Исторически он отвечал за: [1] [2]
- Вызов отрисовки окон (с использованием GDI как аппаратно-независимого API для рисования примитивов)
- Скрытие перекрывающихся окон за другими
- Размер и расположение окна
- Предоставление всех стандартных элементов управления окнами (таких как поля закрытия или строки заголовка ).
- Предоставление стандартной строки меню Windows
- Предоставление стандартных элементов управления (таких как кнопка , поле списка или поле редактирования )
- Обеспечение управления диалоговыми окнами (сочетания клавиш, обработка клавиш табуляции)
- Обработка всего пользовательского ввода с мыши и клавиатуры
- Фоновое изображение рабочего стола (до Windows 8 )
- Отрисовка всех стандартных визуальных элементов
- Межпроцессное взаимодействие с использованием динамического обмена данными
- Отображение указателя мыши и управление курсором
- Передача данных ( буфер обмена )
Постепенно, по мере того как Windows становилась больше и лучше учитывалась, Windows USER начал сотрудничать с другими компонентами для обеспечения этой функциональности:
- Элементы управления: Начиная с Windows 95 , новые элементы управления были помещены в отдельный общий компонент элементов управления. Начиная с Windows XP , новые реализации стандартных элементов управления также были перенесены в этот же компонент.
- Стандартные визуальные элементы. Начиная с Windows XP, визуальные элементы рисуются с помощью компонента Theming.
- Опыт управления Windows: Начиная с Windows Vista , управление стандартными окнами рисования было перенесено из Windows USER в диспетчер окон рабочего стола, когда Aero включена тема . Начиная с Windows 8 , оконные рамы всегда рисуются с помощью DWM, за исключением среды предустановки Windows .
- Межпрограммное взаимодействие. Начиная с Windows 3.1, связывание и внедрение объектов заменило динамический обмен данными в качестве рекомендуемой модели межпрограммного взаимодействия.
- Строка меню. Начиная с Windows 7, интерфейс ленты является рекомендуемой заменой строки меню и контекстных меню. Он предоставляется компонентом UIRibbon. [3]
- Обои рабочего стола: Начиная с Windows 8 , рисунок обоев рабочего стола был перенесен в Проводник Windows , за исключением среды предустановки Windows , где обои рабочего стола рисуются с помощью
WallpaperHost.exe
приложение. Там, где ПОЛЬЗОВАТЕЛЬ раньше рисовал фон рабочего стола, вместо него рисуется сплошной экран акцентного цвета пользователя. - Указатель мыши: начиная с Windows Vista , когда DWM включен, рисование указателя мыши управляется им. Однако, начиная с Windows 11 , он больше не будет отображаться с отключенным DWM, если файл
%SystemRoot%\System32\DWMInit.dll
не существует.
Опыт разработчика
[ редактировать ]Windows USER реализует абстракции, используемые для создания приложений Windows. К ним относятся
HWND
(Дескриптор окна)
The HWND
— это базовая единица визуального отображения и ввода на платформе разработчика Windows. Все визуальные элементы либо имеют свои собственные HWND, либо являются частью более крупного объекта. HWND
. Многие функции в Windows USER манипулируют свойствами HWND, такими как размер, положение и заголовок. Каждый HWND
также есть канал связи( WNDPROC
- Процедура окна) для доставки сообщений.
Окна управляются как дерево, в котором окно рабочего стола находится в корне иерархии. Дочерние окна обычно (но не всегда) визуально содержатся внутри своих родительских окон.
MSG
(Сообщение)
Приложения и операционная система взаимодействуют с HWND с помощью сообщений. Окно сообщения представляет собой комбинацию целевого HWND
, код сообщения и другие сведения, такие как положение мыши.
- Цикл сообщений
Правильно комбинируя вызовы Windows USER, приложение Windows обрабатывает сообщения. Основной цикл сообщений Windows (включая вызовы GetMessage
, TranslateMessage
и DispatchMessage
) лежит в основе любого приложения Windows.
Функциональные возможности разработчика, связанные с Windows USER, представлены в заголовочном файле C winuser.h.
Выполнение
[ редактировать ]В 16-разрядных версиях Windows Windows USER был реализован в виде файла user.exe. Расширение файла здесь было использовано неправильно , поскольку Windows USER на самом деле всегда была динамической библиотекой .
В 32-битных версиях Windows 32-битная версия Windows USER называется user32.dll и находится в каталоге System32, а совместимость с 16-битными приложениями обеспечивается наличием модифицированной версии user.exe.
В 64-разрядных версиях Windows 64-разрядная реализация Windows USER называется user32.dll и находится в каталоге System32, а модифицированная 32-разрядная версия (также называемая user32.dll) присутствует в каталоге SysWOW64.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Петцольд, Чарльз (1998). Программирование Windows, пятое издание , Microsoft Press, ISBN 978-1-57231-995-0 .
- ^ Чен, Раймонд (2007). «Старая новая вещь» , Эддисон-Уэсли Профессионал, ISBN 978-0-321-44030-3
- ^ Платформа ленты Windows