4. Элементы управления рабочим столом.
Щелчок на кнопке Пуск открывает Главное меню — элемент управления, с помощью которого можно выполнить практически все, что позволяет операционная система.
Если на Рабочем столе запускается приложение или открывается окно, на Панели задач образуется соответствующая кнопка. Состав кнопок Панели задач всегда свидетельствует о том, какие объекты Windows в настоящий момент находятся в работе. Переключение между приложениями или открытыми окнами выполняется щелчком на кнопках Панели задач.
Основной элемент управления Рабочего стола — кнопка Пуск.
Щелчок на этой кнопке открывает меню, которое называется Главным меню. Это меню предоставляет доступ ко всем объектам Windows.
Все пункты этого меню—команды. Если в пункте меню стоит знак , то при наведении на него указателя открывается другое меню, которое называется вложенным.
Рассмотрим подробнее возможности, предоставляемые Главным меню:
—Пункт -Справка- загружает справочную систему Windows , которая выводит на экран список пунктов, по которым можно получить информацию,
—Пункт -Программы- открывает меню, в котором пользователь может найти значки всех приложений ОС Windows. Запуск приложений осуществляется одинарным левым щелчком мыши. Любое приложение Windows, инсталлированное на диск, обычно автоматически «прописывается» в пункте ПРОГРАММЫ кнопки ПУСК.
В пункте Программы обязательно имеется подпункт Стандартные-, открывающий доступ к графическому редактору Paint, текстовому редактору Word Pad, калькулятору, играм, средствам мультимедиа и т. д.
—Пункт -Документы- открывает меню с именами документов, которые пользователь создавал и редактировал в процессе работы (обычно на экран выводится фиксированный список из 15–ти последними использованных документов ),
—Пункт -Настройка- служит для выбора подходящих режимов работы, вида главного меню и панели задач.
—Пункт -Найти- предназначен для поиска информации на любом из компьютеров, входящих в сеть.
—Пункт –Выполнить- предназначен для ввода командной строки запуска на выполнение какой-либо программы или команды
Второй элемент управления Рабочего стола — Панель задач, на которой в момент загрузки любой программы или открытия любого окна создаются соответствующие кнопки.
5. Управление объектами Windows.
Управление объектами Windows можно производить с помощью клавиатуры, но для этого удобнее использовать мышь или другой аналогичный манипулятор. Несмотря на то, что существует множество устройств управления операционной системой Windows , мышь является основным средством управления и приёмы работы с ней надо специально отрабатывать.
Указатель мыши обладает контекстной чувствительностью, то есть, при наведении на объект он может изменять форму в соответствии с тем, какие действия можно выполнить с данным объектом.6. 6. Приемы управления мышью.
наведение | перетаскивание | специальное перетаскивание |
щелчок (левой кнопкой) | протягивание | |
двойной щелчок | щелчок правой кнопкой |
Наведение указателя. Если навести указатель на объект или элемент управления и задержать его на несколько секунд, часто рядом с указателем открывается всплывающая подсказка, которая кратко описывает назначение элемента управления или объекта. Изучение новой программы начинают с того, что проводят указателем по всем элементам управления и смотрят, что сообщает всплывающая подсказка. Это занимает всего несколько минут, но позволяет быстро сориентироваться в программе. Щелчок. Когда говорят «щелчок», то имеют в виду один щелчок левой (основной) кнопкой мыши. Щелчком приводятся в действие элементы управления. Если щелчок произошел на объекте, то объект выделяется, меняет цвет (готовится к использованию). Двойной щелчок. Двойной щелчок — это два последовательных быстрых щелчка. Этим приемом выполняются операции с объектами. Программы запускаются, файлы данных открываются, звуковые или видео файлы воспроизводятся. Обычно с каждым из объектов можно сделать несколько операций. Например, файл с текстом можно открыть для просмотра, открыть для редактирования, скопировать на гибкий диск, отправить на другой компьютер, удалить и прочее. Двойным щелчком выполняется та операция, которая является основной. Перетаскивание. Это очень мощный приём, которым часто пользуются при работе с операционной системой Windows и ее приложениями. Перетаскиванием выполняется перемещение объектов. Для перетаскивания объекта (например, значка Мой компьютер) надо навести на него указатель мыши и нажать левую кнопку. Не отпуская кнопку мыши, переместите мышь в другое место. Объект перемещается вместе с указателем. Можно перетаскивать не только значки, но и окна. Откройте окно Мой компьютер двойным щелчком на одноименном значке. Наведите указатель мыши на строку заголовка окна, нажмите левую кнопку и, не отпуская её, перетащите окно в новое место. Протягивание. Этот прием, как и перетаскивание, выполняется при нажатой левой кнопке мыши, но при этом объект не перемещается, а изменяется. Протягиванием, например, изменяют размеры окон. При наведении указателя на границу окна он меняет форму. В этот момент можно выполнять протягивание. Правый щелчок. Выше мы говорили о том, что обычно с одним объектом можно выполнить несколько различных действий, одно из которых является основным ( его можно задать самостоятельно). Основное действие выполняется двойным щелчком. Все прочие действия можно выполнить с помощью правого щелчка. Правый щелчок на любом объекте открывает меню, которое называется контекстные. Контекстное меню — это элемент управления, содержащий пункты команд, которые можно выполнить с объектом. Состав этих команд зависит от самого объекта. Важнейшая особенность контекстного меню состоит в том, что в нём практически всегда есть пункт Свойства. Щелчок на этом пункте позволяет получать информацию о свойствах объекта и изменять их. Так выполняется большинство настроек в ОС Windows : Специальное перетаскивание. Этот прием эквивалентен перетаскиванию, но выполняется при нажатой правой кнопке. Обычное перетаскивание выполняет перемещение объекта в другое место. При специальном перетаскивании в момент освобождения правой кнопки открывается небольшое меню, из которого можно выбрать действие: перемещение (эквивалентно обычному перетаскиванию), копирование объекта или создание ярлыка для объекта.
Что такое окно?
Очевидно, что окна являются центральными для Windows. Они настолько важны, что они назвали операционную систему в их честь. Но что такое окно? Когда вы думаете об окне, вы, вероятно, думаете о чем-то вроде следующего:
Этот тип окна называется окном приложения или окном main. Обычно он имеет рамку с заголовком строки, кнопками Свернуть и Развернуть , а также другими стандартными элементами пользовательского интерфейса. Кадр называется неклиентской областью окна, так называемой, потому что операционная система управляет этой частью окна. Область в кадре является клиентской областью. Это часть окна, которым управляет программа.
Вот еще один тип окна:
Если вы не знакомы с программированием для Windows, вас может удивить, что элементы управления пользовательского интерфейса, такие как кнопки и поля редактирования, сами являются окнами. Основное различие между элементом управления пользовательского интерфейса и окном приложения заключается в том, что элемент управления не существует сам по себе. Вместо этого элемент управления располагается относительно окна приложения. При перетаскивании окна приложения элемент управления перемещается вместе с ним, как и ожидалось. Кроме того, элемент управления и окно приложения могут взаимодействовать друг с другом. (Например, окно приложения получает уведомления о щелчках от кнопки.)
Поэтому, когда вы думаете о окне, не просто думайте об окне приложения. Вместо этого думайте о окне как о программной конструкции, которая:
- Занимает определенную часть экрана.
- Может или не отображаться в данный момент.
- Знает, как рисовать себя.
- Отвечает на события пользователя или операционной системы.
Родительские окна и окна владельца
В случае элемента управления пользовательского интерфейса окно элемента управления считается дочерним элементом окна приложения. Окно приложения является родительским для окна управления. Родительское окно предоставляет систему координат, используемую для размещения дочернего окна. Наличие родительского окна влияет на внешний вид окна; например, дочернее окно обрезается таким образом, что ни часть дочернего окна не может отображаться за пределами его родительского окна.
Другая связь — это связь между окном приложения и модальным диалоговым окном. Когда в приложении отображается модальное диалоговое окно, окно приложения является окном владельца , а диалог — собственным окном . Собственное окно всегда отображается перед окном владельца. Она скрыта, когда владелец сведен к минимуму, и уничтожается одновременно с владельцем.
На следующем рисунке показано приложение, отображающее диалоговое окно с двумя кнопками:
Окну приложения принадлежит диалоговое окно, а диалоговое окно является родительским для обоих окон кнопок. На следующей схеме показаны эти связи:
Дескрипторы окон
Windows — это объекты( они имеют как код, так и данные), но не являются классами C++. Вместо этого программа ссылается на окно с помощью значения, называемого дескриптором. Дескриптор является непрозрачным типом. По сути, это просто число, которое операционная система использует для идентификации объекта. Вы можете представить windows как большую таблицу всех созданных окон. Эта таблица используется для поиска окон по их дескрипторам. (Не важно, работает ли это внутренне.) Тип данных для дескрипторов окна — HWND, который обычно произносится как «aitch-wind». Дескриптора окна возвращаются функциями, создающими окна: CreateWindow и CreateWindowEx.
Чтобы выполнить операцию с окном, обычно вызывается какая-то функция, которая принимает значение HWND в качестве параметра. Например, чтобы изменить положение окна на экране, вызовите функцию MoveWindow :
BOOL MoveWindow(HWND hWnd, int X, int Y, int nWidth, int nHeight, BOOL bRepaint);
Первый параметр — это дескриптор для окна, которое требуется переместить. Другие параметры указывают новое расположение окна и необходимость перерисовки окна.
Помните, что дескрипторы не являются указателями. Если hwnd — это переменная, содержащая дескриптор, попытка разыменовать дескриптор путем записи *hwnd будет ошибкой.
Экранные и оконные координаты
Координаты измеряются в независимых от устройства пикселях. При обсуждении графики мы будем говорить о независимой от устройства части пикселей, независимых от устройства .
В зависимости от задачи можно измерять координаты относительно экрана, относительно окна (включая рамку) или клиентской области окна. Например, вы размещаете окно на экране с помощью экранных координат, но рисуете внутри окна с помощью клиентских координат. В каждом случае источником (0, 0) всегда является верхний левый угол области.
О процессах и потоках
Каждый процесс предоставляет ресурсы, необходимые для выполнения программы. Процесс имеет виртуальное адресное пространство, исполняемый код, открытые дескрипторы для системных объектов, контекст безопасности, уникальный идентификатор процесса, переменные среды, класс приоритета, минимальный и максимальный размер рабочего набора и по крайней мере один поток выполнения. Каждый процесс запускается с одного потока, часто называемого основным потоком, но может создавать дополнительные потоки из любого из его потоков.
Поток — это сущность в процессе, которую можно запланировать для выполнения. Все потоки процесса совместно используют его виртуальное адресное пространство и системные ресурсы. Кроме того, каждый поток поддерживает обработчики исключений, приоритет планирования, локальное хранилище потока, уникальный идентификатор потока и набор структур, которые система будет использовать для сохранения контекста потока до его планирования. Контекст потока включает набор регистров компьютера потока, стек ядра, блок среды потока и стек пользователя в адресном пространстве процесса потока. Потоки также могут иметь собственный контекст безопасности, который можно использовать для олицетворения клиентов.
Microsoft Windows поддерживает упреждающую многозадачность, что создает эффект одновременного выполнения нескольких потоков из нескольких процессов. На многопроцессорном компьютере система может одновременно выполнять столько потоков, сколько процессоров на компьютере.
Объект задания позволяет управлять группами процессов как единое целое. Объекты заданий — это именуемые, защищаемые, общие объекты, управляющие атрибутами связанных с ними процессов. Операции, выполняемые с объектом задания, влияют на все процессы, связанные с объектом задания.
Приложение может использовать пул потоков , чтобы уменьшить количество потоков приложения и обеспечить управление рабочими потоками. Приложения могут ставить рабочие элементы в очередь, связывать работу с дескрипторами ожидания, автоматически ставить в очередь по таймеру и выполнять привязку с помощью операций ввода-вывода.
Планирование в пользовательском режиме (UMS) — это упрощенный механизм, который приложения могут использовать для планирования собственных потоков. Приложение может переключаться между потоками UMS в пользовательском режиме без использования системного планировщика и восстановить контроль над процессором, если поток UMS блокируется в ядре. Каждый поток UMS имеет собственный контекст потока вместо совместного использования контекста потока одного потока. Возможность переключения между потоками в пользовательском режиме делает UMS более эффективным, чем пулы потоков для краткосрочных рабочих элементов, требующих нескольких системных вызовов.
Волокно — это единица выполнения, которая должна быть запланирована приложением вручную. Волокна выполняются в контексте потоков, которые планируют их. Каждый поток может запланировать несколько волокон. Как правило, волокна не предоставляют преимуществ по сравнению с хорошо спроектированными многопоточные приложения. Однако использование волокон может упростить перенос приложений, предназначенных для планирования собственных потоков.
Дополнительные сведения см. в следующих разделах:
- Многозадачность
- Планирование
- Несколько потоков
- Дочерние процессы
- Пулы потоков
- Объекты заданий
- Планирование в пользовательском режиме
- Волокон
При подготовке материала использовались источники:
https://studfile.net/preview/5775779/page:2/
https://learn.microsoft.com/ru-ru/windows/win32/learnwin32/what-is-a-window-
https://learn.microsoft.com/ru-ru/windows/win32/procthread/about-processes-and-threads