Windows USER - это компонент операционной системы Microsoft Windows, который обеспечивает основные функции для создания простых пользовательских интерфейсов . Компонент существует во всех версиях Windows и включает в себя функции для управления окнами , передачи сообщений , обработки ввода и стандартных элементов управления .
Функциональность и роль [ править ]
Windows USER обеспечивает большую часть основного пользовательского интерфейса Microsoft Windows. Исторически он отвечал за: [1] [2]
- Вызывает отрисовку окон (использование GDI в качестве независимого от устройства API для рисования примитивов)
- Скрытие перекрывающихся окон за другими
- Размер и расположение окна
- Обеспечение всех стандартных элементов управления окнами (таких как закрывающие поля или строки заголовка )
- Обеспечение стандартной строки меню Windows
- Предоставление стандартных элементов управления (например, кнопки , окна списка или окна редактирования )
- Обеспечение управления диалоговыми окнами (горячие клавиши, обработка клавиш табуляции)
- Обработка всего пользовательского ввода с помощью мыши и клавиатуры
- Рабочий стол фонового изображения
- Отрисовка всех стандартных визуальных элементов
- Межпроцессное взаимодействие с использованием динамического обмена данными
- Отображение и управление курсором указателя мыши
- Передача данных ( буфер обмена )
Постепенно, по мере того, как Windows становилась больше и лучше учитывалась, Windows USER начал сотрудничать с другими компонентами, чтобы обеспечить эту функциональность:
- Элементы управления: Начиная с Windows 95 , новые элементы управления были помещены в отдельный компонент общих элементов управления. Начиная с Windows XP , в этот же компонент были перенесены новые реализации стандартных элементов управления.
- Управление Windows: Начиная с Windows Vista , управление стандартными окнами рисования было перенесено из ПОЛЬЗОВАТЕЛЯ Windows в Диспетчер окон рабочего стола .
- Стандартные визуальные эффекты: начиная с Windows XP, визуальные элементы рисуются с помощью компонента Theming.
- Межпрограммное взаимодействие: начиная с Windows 3.1, связывание и встраивание объектов заменили динамический обмен данными в качестве рекомендуемой модели для межпрограммного взаимодействия.
- Строка меню: Начиная с Windows 7, интерфейс ленты рекомендуется заменять строку меню и контекстные меню. Он предоставляется компонентом UIRibbon. [3]
Опыт разработчика [ править ]
Windows USER реализует абстракции, которые используются для создания приложений Windows. Это включает
- HWND (Дескриптор окна)
HWND - это базовая единица визуального отображения и ввода в платформе разработчика Windows. Все визуальные элементы либо имеют свои собственные HWND, либо живут как часть более крупного HWND. Многие функции в Windows USER управляют свойствами HWND, такими как размер, положение и заголовок. Каждый HWND также имеет канал связи (WNDPROC - Window Procedure) для доставки сообщений.
Окна управляются как дерево с окном рабочего стола в корне иерархии. Дочерние окна обычно (но не всегда) визуально содержатся внутри своих родителей.
- MSG (сообщение)
Приложения и операционная система взаимодействуют с HWND с помощью сообщений. Окно сообщения - это комбинация целевого HWND, кода сообщения и других деталей, таких как положение мыши.
- Цикл сообщений
Правильно комбинируя вызовы Windows USER, приложение Windows обрабатывает сообщения. Основной цикл сообщений Windows (включая вызовы GetMessage, TranslateMessage и DispatchMessage) лежит в основе любого приложения Windows.
Функции разработчика, связанные с Windows USER, представлены в заголовочном файле C winuser.h.
Реализация [ править ]
В 16-разрядных версиях Windows ПОЛЬЗОВАТЕЛЬ Windows был реализован в виде файла с именем 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.
См. Также [ править ]
- Интерфейс графического устройства (GDI)
- Файлы библиотеки Microsoft Windows
Ссылки [ править ]
- ^ Петцольд, Чарльз (1998). Programming Windows Fifth Edition , Microsoft Press, ISBN 978-1-57231-995-0 .
- Перейти ↑ Chen, Raymond (2007). Старая новая вещь , Addison-Wesley Professional, ISBN 978-0-321-44030-3
- ^ Windows Ribbon Framework
Внешние ссылки [ править ]
- Список вызовов API - USER32.DLL - Советы по использованию клиентской библиотеки пользовательского API с Visual Basic
- Исчерпывающий справочник по папкам, переменным, значениям и ссылкам WOW64