Активное приложение windows это

Windows 10 учится перезагрузке активных приложений

Что-то похожее уже есть в Windows 10, но в Microsoft, похоже, планируют улучшить эти механизмы, в целом повысив комфорт работы в операционной системе. Понравится тем, кто смущается использовать спящий режим.

Microsoft в недавних билдах уже вырезала Paint из состава операционной системы, сделав приложение обновляемым через Microsoft Store. Очередным крупным нововведением называют новую опцию по рабьоте с запущенными приложениями.

Уже сегодня в Windows 10 некоторые приложения, большая часть из которых UWP, может запускаться после старта ОС, если они работали до перезагрузки или разлогинивания пользователя. Опция находится в глобальных настройках Windows в управлении аккаунтами. Многие пользователи об этом даже не знают.

Такие новости мы постоянно публикуем в Telegram. Подписывайтесь на канал , чтобы ничего не пропустить 😉

В грядущем обновлении разработчики планируют вынести это в отдельный пункт меню, выбираемый при завершении работы ОС.

Windows постарается сохранить все запущенные приложения, чтобы автоматически запустить их, когда вы снова загрузите ПК.

Если вам интересны новости мира ИТ также сильно, как нам, подписывайтесь на наш Telegram-канал. Там все материалы появляются максимально оперативно. Или, может быть, вам удобнее «Вконтакте» или Twitter? Мы есть также в Facebook.

Лекция 2. Структура приложения Windows

1. Простейшее Windows-приложение «Hello, World!»

Приложение (программа 2.1), которое выводит на экран диалоговое окно, показанное на рис. 2.1, вполне можно считать аналогом классической программы «Hello, World!».

Рис. 2.1. Простейшее Windows-приложение «Hello, World!»

int WINAPI WinMain( HINSTANCE d1, HINSTANCE d2, LPSTR d3, int d4 )

MessageBox( NULL, «Hello, World!», «», MB_OK );

Программа 2.1. Простейшее Windows-приложения «Hello, World!».

C точки зрения программирования у этого «приложения» довольно сложное поведение. Традиционная консольная версия «Hello, World!» выводит сообщение на экран и заканчивает работу. Windows-приложение после вывода сообщения продолжает работать. На экране присутствует диалоговое окно, которое можно переместить по экрану мышью. Мышью можно нажать кнопку OK для завершения работы приложения. Если нажать мышью кнопку OK, но не отпускать левую кнопку мыши, то на экране будет видна кнопка OK, нарисованная в нажатом состоянии. Если, не отпуская кнопку мыши, перемещать указатель то на кнопку OK, то вне ее, эта кнопка будет менять свой внешний вид. У окна приложения есть небольшое меню (с единственной командой Переместить), которое можно вызвать нажатием комбинации Alt+Пробел или щелчком правой кнопки на заголовке окна. Приложение можно завершить клавишей Enter, Escape или пробел.

Как же такое сложное поведение обеспечивается всего шестью строками исходного текста? Суть скрыта в понятиях цикл обработки сообщений и оконная процедура. В данном простейшем приложении не видно ни того, ни другого. Приложение создает стандартное диалоговое окно, внутри которого скрыта реализация наблюдаемого поведения. Поэтому для ясного понимания структуры этих компонент приложения следует рассмотреть более сложный пример.

Приложение с циклом обработки сообщений

В программе 2.1 практически вся функциональность приложения сосредоточена (и скрыта) внутри функции MessageBox. Для лучшего понимания структуры приложения сделаем реализацию поведения видимой, другими словами, создадим окно, которым будем управлять сами, а не доверять это функции MessageBox.

Окно новой версии hello.cpp показано на рис. 2.2. Теперь слова «Hello, World!» выводятся как надпись на кнопке, занимающей всю клиентскую область окна (они также появляются в строке заголовка окна).

Рис. 2.2. Приложение «Hello, World!» с собственным циклом обработки сообщений.

«Типичное» приложение Windows в процессе инициализации сначала регистрирует новый оконный класс для своего главного окна. Затем приложение создает свое главное окно. Сейчас пока не будем регистрировать новый оконный класс, а используем один из стандартных оконных классов, BUTTON («Кнопка»). Поведение этого класса не позволит в точности повторить приложение из п.1. В данный момент это не важно, главное, что в приложении можно будет увидеть назначение цикла обработки сообщений (программа 2.2).

Читайте также:  Windows 10 cbb что это

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE d2, LPSTR d3, int d4 )

hwnd = CreateWindow( «BUTTON», «Hello, World!»,

WS_VISIBLE | BS_CENTER, 100, 100, 100, 80,

NULL, NULL, hInstance, NULL );

while ( GetMessage( &msg, NULL, 0, 0 ) )

if ( msg.message == WM_LBUTTONUP )

Программа 2.2. Приложение «Hello, World!» с циклом обработки сообщений.

В данном примере виден цикл обработки сообщений. После создания окна программа входит в цикл while, в котором выполняется вызов функции Windows API для получения очередного сообщения – GetMessage. Эта функция возвращает значение FALSE только при получении сообщения WM_QUIT о завершении приложения. В цикле обрабатывается единственное сообщение, WM_LBUTTONUP, об отпускании левой кнопки мыши. Функция DestroyWindow уничтожает окно приложения, а PostQuitMessage посылает приложению сообщение WM_QUIT. Поэтому при очередном вызове GetMessage цикл обработки сообщений завершится. Все сообщения, кроме WM_LBUTTONUP, передаются функции DispatchMessage.

Диспетчеризация с помощью функции DispatchMessage означает передачу сообщений в оконную процедуру, «по умолчанию» приписанную оконному классу BUTTON. Как и в случае функции MessageBox, содержание оконной процедуры «по умолчанию» скрыто, т.к. она является частью операционной системы.

Обратите внимание, что приложение из п.1 завершает работу, только если указатель в момент отпускания левой кнопки находится над кнопкой. В новой версии приложения выход из программы осуществляется по сообщению об отпускании левой кнопки, независимо от положения указателя.

Рассмотренный пример не продемонстрировал строение оконной процедуры. Поэтому еще раз усложним «Hello, World!», чтобы в этом приложении был виден и цикл обработки сообщений, и оконная процедура.

Приложение с циклом обработки сообщений и оконной процедурой

Новая версия hello.cpp (программа 2.3) регистрирует собственный оконный класс. Это делается частично для косметических улучшений (чтобы отказаться от неестественного применения класса BUTTON для вывода сообщения), но главным образом для того, чтобы установить собственную оконную процедуру.

Рис. 2.3. Версия приложения «Hello, World!» с собственным оконным классом.

void DrawHello( HWND hwnd )

HDC hDC = BeginPaint( hwnd, &paintStruct );

DrawText( hDC, «Hello, World!», -1, &clientRect,

DT_CENTER | DT_VCENTER | DT_SINGLELINE );

LRESULT CALLBACK WndProc( HWND hwnd, UINT uMsg,

WPARAM wParam, LPARAM lParam )

case WM_PAINT : DrawHello( hwnd ); break;

case WM_DESTROY : PostQuitMessage( 0 ); break;

default : return DefWindowProc( hwnd, uMsg, wParam, lParam );

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,

LPSTR d3, int nCmdShow )

if ( hPrevInstance == NULL )

wndClass.style = CS_HREDRAW | CS_VREDRAW;

wndClass.hCursor = LoadCursor( NULL, IDC_ARROW );

wndClass.hbrBackground = (HBRUSH)( COLOR_WINDOW + 1 );

if ( !RegisterClass( &wndClass ) )

hwnd = CreateWindow( «HELLO», «HELLO», WS_OVERLAPPEDWINDOW,

CW_USEDEFAULT, 0, CW_USEDEFAULT, 0,

NULL, NULL, hInstance, NULL );

ShowWindow( hwnd, nCmdShow );

while( GetMessage( &msg, NULL, 0, 0 ) )

Программа 2.3. Приложение «Hello, World!» с собственным оконным классом.

Новая версия приложения содержит примерно 60 строк исходного текста. Но оно выглядит как «полноценное» Windows-приложение (рис. 2.3), у которого есть системное меню, окно которого можно перемещать, изменять размер, сворачивать и разворачивать, оно умеет перерисовывать себя, реагировать на команду меню Закрыть и на комбинацию клавиш Alt+F4.

Как и раньше, выполнение программы начинается с функции WinMain. Сначала приложение проверяет, есть ли уже запущенный экземпляр данного приложения. Если есть, то оконный класс повторно регистрировать не надо. Иначе выполняется регистрация оконного класса, свойства и поведение которого описываются с помощью структуры WNDCLASS. В переменную lpfnWndProc этой структуры помещается адрес оконной процедуры. В нашем примере это будет функция WndProc.

Читайте также:  Не удаляются драйвера принтера windows 10

Далее, вызывается функция CreateWindow для создания окна. После вывода окна на экран WinMain входит в цикл обработки сообщений. Этот цикл завершится, когда GetMessage вернет FALSE в результате получения сообщения WM_QUIT.

Функция WndProc демонстрирует назначение и структуру оконной процедуры, которая не была видна в предыдущих версиях «Hello, World!». Типичная оконная процедура на языке Си состоит из большого оператора switch. В зависимости от полученного сообщения, из этого оператора вызываются различные функции для обработки конкретных сообщений. В нашем примере обрабатываются только два сообщения: WM_PAINT и WM_DESTROY.

Сообщение WM_PAINT требует от приложения частично или полностью перерисовать содержимое окна. Большинство приложений перерисовывают только те области окна, которые нуждаются в перерисовке. В нашем случае, для простоты, на каждое сообщение WM_PAINT всегда выполняется вывод всей строки «Hello, World!».

Сообщение WM_DESTROY поступает в результате действий пользователя, которые приводят к уничтожению окна приложения. В качестве реакции наше приложение вызывает функцию PostQuitMessage. Т.о. гарантируется, что функция GetMessage в WinMain получит сообщение WM_QUIT и главный цикл обработки сообщений завершится.

Сообщения, которые не обрабатываются нашей оконной процедурой, с помощью функции DefWindowProc передаются в оконную процедуру по умолчанию. Эта функция реализует поведение окна приложения и многих компонент его неклиентской области (например, строки заголовка).

Как выбрать нужное окно? Что такое активное окно?

Как выбрать нужное окно? Что такое активное окно? Microsoft Windows — многозадачная операционная система. Это означает, что одновременно в среде Windows может быть запущено несколько различных программ и, соответственно, открыто несколько окон или несколько сайтов, а в другом окне любой другой сайт. Однако в каждый момент времени пользователю доступно для работы только какое-либо одно окно — он может взаимодействовать с элементами интерфейса этой программы, управлять режимами ее отображения, редактировать открытый в окне программы документ. Окно программы, с которым пользователь работает в текущий момент времени, называют активным. Принято говорить, что все остальные программы в этом случае работают в неактивном (фоновом) режиме либо находятся в состоянии ожидания.

Основные отличия активного окна приложения Windows от окон приложений, находящихся в режиме ожидания, перечислены ниже:

■ окно активного приложения расположено на экране поверх всех остальных окон;

■ панель заголовка активного окна выглядит ярче аналогичных панелей неактивных окон, отображающихся на экране в бледных тонах;

■ соответствующая открытому окну кнопка в панели задач отображается «нажатой». Если под расположенной в Панели задач кнопкой скрывается несколько однотипных приложений, собранных в группу, при активизации одного из них кнопка также выглядит «нажатой»;

■ возможна ситуация, при которой все кнопки в панели задач отображаются в «отжатом» состоянии. Это означает, что ни одно из запущенных в текущий момент приложений не является активным, в то время как активна сама панель задач, один из элементов Рабочего стола либо другой компонент интерфейса Windows.

Активизировать одно из запущенных в системе окон можно несколькими различными способами:

1. Щелкните мышью на неактивной кнопке в Панели задач. Если под кнопкой «скрывается» одно приложение, его окно станет активным; если по нажатию кнопки раскрывается список, содержащий группу сходных задач, выберите в этом списке задачу, к которой вы хотели бы переключиться.

2. Если окно приложения отображается на экране либо видна определенная его часть, щелкните мышыо на заголовке окна либо в любой другой его части.

3. Можно активизировать одно из запущенных в системе приложений, выделив его значок в Панели задач с использованием клавиатуры. Для этого нажмите и удерживайте клавишу Windows (на большинстве клавиатур она маркирована этим значком ), после чего последовательно нажимайте клавишу Tab до тех пор, пока кнопка требуемой программы не окажется «подсвеченной». Отпустив клавиши Windows и Tab, нажмите клавишу Enter.
термическая обработка

Читайте также:  Создать файл linux cmd

Фишки Windows 10: как просто взаимодействовать с окнами и рабочими столами

Содержание

Содержание

В статье мы расскажем о практичности работы в операционной системе Windows 10 по сравнению с предыдущими версиями.

Работа с окнами

Windows 10 предлагает гибкий инструмент работы с окнами для тех, кто работает в нескольких окнах одновременно. При этом функция доступна независимо от того, какой у вас монитор и сколько их вы используете. Неважно также, какие характеристики у вашего ПК или ноутбука. Работа с окнами доступна бесплатно и включается парой нажатий на клавиатуру. Единственным ограничением является количество окон на один экран — это 4 окна при условии, что вы доверили ОС определить их расположение. В ручном же режиме подобных окон можно открыть в несколько раз больше (но нужно ли?).

Для примера, окна трех приложений можно расположить таким образом:

Чтобы воспользоваться данным функционалом, сперва необходимо запустить все необходимые приложения в любом порядке. Рекомендуем открывать не более четырех окон.

После этого вам необходимо сделать окно активным, просто нажав на него. Теперь с помощью комбинации клавиши Win и клавиш-стрелок выбрать направление, в котором окно должно «прилипнуть».

Для примера: комбинация «Win + ←» расположила окно слева на всю высоту экрана.

Если хотите, чтобы окно заняло четверть рабочего стола, то комбинация «Win + ↓» или «Win + ↑» разместит окно снизу или сверху соответственно.

Следующий пример был получен сначала нажатием «Win + →», а затем «Win + ↓», что «прилепило» окно снизу и справа соответственно.

Такими же комбинациями можно настроить оптимальное расположение и размер остальных окон, переключаясь между ними. Все окна можно расположить в том порядке, который вам необходим.

Если у вас есть еще один монитор, вы можете таким же образом расположить окна в нем, расширив работу до 8 окон одновременно. Вероятно, такой способ кому-то покажется нагруженным и непрактичным, но тем, кто не хочет постоянно переключаться между окнами, он будет в самый раз.

Работа с рабочими столами

Работа с виртуальными рабочими столами повысит продуктивность и расширит понятие многозадачности при работе в Windows 10. Этот инструмент позволит увеличить кол-во окон, в которых можно работать одновременно, и отделить одну группу окон от другой. Например, если в одной группе окон вы работаете с текстом, а в другой — с фото. Как уже говорилось ранее, завышенных требований к характеристикам вашего ПК нет, платить за это тоже не надо.

Как только вам необходимо дополнительное пространство — новый рабочий стол для работы с необходимыми приложениями или даже играми, — нажмите комбинацию «Win + Tab».

Вы увидите менеджер работы с окнами и рабочими столами.

В верхнем левом углу, в блоке рабочих столов, вы можете создать необходимое количество рабочих столов.

Создав рабочий стол, вы получаете виртуальное пространство, аналогичное вашему основному рабочему столу, но только без запущенных в нем окон. Также вы можете переключаться на окна предыдущего рабочего стола, чтобы не загромождать рабочее пространство.

Если вам необходимо переключиться на предыдущий или следующий рабочий стол, воспользуйтесь комбинациями «Ctrl+Win+←» или «Ctrl+Win+→» соответственно. Переключение происходит почти мгновенно, нет необходимости ждать загрузки.

Виртуальные рабочие столы имеют общий буфер обмена, которым вы можете воспользоваться для того, чтобы скопировать и перенести информацию на любой из ваших рабочих столов.

Используя полученный опыт использования «многооконности» и «мультизадачности», вы можете приумножить скорость и удобство работы в приложениях. Это применимо к работе, общению, играм, разработке и так далее.

Оцените статью