Windows api show window

Windows api show window

Функция ShowWindow устанавливает состояние показа определяемого окна.

Параметры hWnd
Идентифицирует окно.
nCmdShow
Определяет, как окно должно быть показано. Этот параметр первоначально игнорируется, когда прикладная программа вызывает ShowWindow, если программа, которая запустила прикладную программу, обеспечивает структуру STARTUPINFO. Иначе, при первом вызове функции ShowWindow, это значение должно быть значением, полученным функцией WinMain в ее параметре nCmdShow. В последующих обращениях, этот параметр может быть одним из следующих значений:

  • SW_HIDE — Скрывает окно и активизирует другое окно.
  • SW_MAXIMIZE — Развертывает определяемое окно.
  • SW_MINIMIZE — Свертывает определяемое окно и активизирует следующее окно верхнего уровня в Z-последовательности.
  • SW_RESTORE — Активизирует и отображает окно. Если окно свернуто или развернуто, Windows восстанавливает в его первоначальных размерах и позиции. Прикладная программа должна установить этот флажок при восстановлении свернутого окна.
  • SW_SHOW — Активизирует окно и отображает его текущие размеры и позицию.
  • SW_SHOWDEFAULT — Устанавливает состояние показа, основанное на флажке SW_, определенном в структуре STARTUPINFO, переданной в функцию CreateProcess программой, которая запустила прикладную программу.
  • SW_SHOWMAXIMIZED — Активизирует окно и отображает его как развернутое окно.
  • SW_SHOWMINIMIZED — Активизирует окно и отображает его как свернутое окно.
  • SW_SHOWMINNOACTIVE — Отображает окно как свернутое окно. Активное окно остается активным.
  • SW_SHOWNA — Отображает окно в его текущем состоянии. Активное окно остается активным.
  • SW_SHOWNOACTIVATE — Отображает окно в его самом современном размере и позиции. Активное окно остается активным.
  • SW_SHOWNORMAL — Активизирует и отображает окно. Если окно свернуто или развернуто, Windows восстанавливает его в первоначальном размере и позиции. Прикладная программа должна установить этот флажок при отображении окна впервые.

Возвращаемые значения
Если функция завершилась успешно, возвращается значение отличное от нуля. Если функция потерпела неудачу, возвращаемое значение — ноль.

Замечания
Первый раз, когда программа вызывает ShowWindow, она использует параметр nCmdShow функции WinMain как свой параметр nCmdShow. Последующие обращения к ShowWindow должны использовать одно из значений в данном списке, вместо того, заданного функцией WinMain параметра nCmdShow. Как отмечено в обсуждении параметра nCmdShow, значение nCmdShow игнорируется при первом обращении к ShowWindow, если программа, которая запустила прикладную программу, определяет информацию автозапуска в структуре STARTUPINFO. В этом случае, ShowWindow использует информацию, заданную в структуре STARTUPINFO, чтобы показать окно. На последующих обращениях, прикладная программа должна вызвать ShowWindow с установкой nCmdShow в SW_SHOWDEFAULT, чтобы использовать информацию автозапуска, обеспеченную программой, которая запустила прикладную программу. Например, программа Program Manager устанавливает, что прикладные программы начинаются со свернутого основного окна. Это поведение разработано для следующих ситуаций:

  • Прикладные программы создают свое основное окно, вызывая CreateWindow с установкой флажка WS_VISIBLE.
  • Прикладные программы создают свое основное окно, вызывая CreateWindow со сброшенным флажком WS_VISIBLE, а при более позднем обращении к ShowWindow с установкой флаж-ка SW_SHOW, чтобы делать его видимым.
Читайте также:  Windows iot системные требования

Размещение и совместимость ShowWindow

Windows api show window

Сообщение WM_SHOWWINDOW отправляется окну тогда, когда окно собирается быть скрытым или видимым.

Окно получает это сообщение через свою функцию WindowProc .

Определяет, показывается ли окно. Если wParam имеет значение ИСТИНА (TRUE), окно будет показано. Если wParam имеет значение ЛОЖЬ (FALSE), окно будет скрыто.

Определяет состояние показываемого окна. Если параметр lParam

нулевой, сообщение было отправлено по причине вызова функции ShowWindow ; иначе, lParam — одно из следующих значений:

Значение

Предназначение SW_OTHERUNZOOM

Окно раскрывается, потому что развернутое окно было восстановлено или свернуто (минимизировано).

SW_OTHERZOOM

Окно перекрывается другим окном, которое было развернуто.

SW_PARENTCLOSING

Окно владельца окна свертывается.

SW_PARENTOPENING

Окно владельца окна восстанавливается.

Если программа обрабатывает это сообщение, она должна возвратить ноль.

Функция DefWindowProc скрывает или показывает окно, как это установлено в сообщении.

Если окно, когда оно создается, имеет стиль WS_VISIBLE , окно принимает это сообщение после того, как оно создано, но прежде, чем оно появится на экране. Окно также принимает это сообщение тогда, когда его состояние видимости изменяется функцией ShowWindow или ShowOwnedPopups .

Сообщение WM_SHOWWINDOW не отправляется при следующих обстоятельствах:

  • Когда верхнего уровня, перекрывающее окно создано со стилем WS_MAXIMIZE или WS_MINIMIZE .
  • Когда установлен флажок SW_SHOWNORMAL при вызове функции ShowWindow .

Windows api show window

Функция ShowWindow устанавливает состояние показа определяемого окна.

HWND hWnd, // дескриптор окна
int
nCmdShow // состояние показа окна

[in] Дескриптор окна.

[in] Определяет, как окно должно быть показано. Этот параметр первоначально игнорируется, когда прикладная программа вызывает ShowWindow , если программа, которая запустила приложение программу, предоставляет структуру STARTUPINFO . Иначе, при первом вызове функции ShowWindow , это значение должно быть значением, полученным функцией WinMain в ее параметре nCmdShow . В последующих обращениях, этот параметр может быть одним из следующих значений:

Значение

Предназначение

SW_FORCEMINIMIZE

Windows 2000/XP: Свертывает окно, даже если поток, который владеет окном, зависает. Этот флажок должен быть использоваться только при свертывании окон другого потока.

Скрывает окно и активизирует другое окно.

SW_MAXIMIZE

Развертывает заданное окно.

SW_MINIMIZE

Свертывает заданное окно и активизирует следующее окно верхнего уровня в Z-последовательности .

SW_RESTORE

Активизирует и показывает на экране окно. Если окно свернуто или развернуто, система восстанавливает в его первоначальных размерах и позиции. Прикладная программа должна установить этот флажок при восстановлении свернутого окна.

Читайте также:  Qt ������ ������� ��� linux

Активизирует окно и показывает на экране в его текущих размерах и позиции.

SW_SHOWDEFAULT

Устанавливает состояние показа, основанное на флажке SW_, определенном в структуре STARTUPINFO , переданной в функцию CreateProcess программой, которая запустила прикладную программу.

SW_SHOWMAXIMIZED

Активизирует окно и отображает его как развернутое окно.

SW_SHOWMINIMIZED

Активизирует окно и отображает его как свернутое окно.

SW_SHOWMINNOACTIVE

Показывает на экране окно как свернутое окно. Это значение походит на флажок SW_SHOWMINIMIZED , исключая окна, которые не активны.

SW_SHOWNA

Показывает на экране окно в его текущем размере и позиции. Это значение походит на флажок SW_SHOW , исключая окна, которые не активны.

SW_SHOWNOACTIVATE

Показывает окно в его самом современном размере и позиции. Это значение походит на флажок SW_SHOWNORMAL , исключая окна, которые не активны.

SW_SHOWNORMAL

Активизирует и показывает окно. Если окно свернуто или развернуто, система восстанавливает его в первоначальном размере и позиции. Прикладная программа должна установить этот флажок при отображении окна впервые.

Если окно перед этим было видимо, возвращается значение — не нуль.

Если окно перед этим было не видимо, возвращаемое значение — нуль.

Чтобы выполнять некоторые специальные эффекты при показе или сокрытии окна, используйте функцию AnimateWindow .

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

Как отмечено в обсуждении параметра nCmdShow , значение nCmdShow игнорируется при первом обращении к ShowWindow , если программа, которая запустила прикладную программу, определяет информацию автозапуска в структуре STARTUPINFO . В этом случае, ShowWindow использует информацию, заданную в структуре STARTUPINFO , чтобы показать окно. При последующих обращениях, приложение должно вызвать ShowWindow с установкой nCmdShow в SW_SHOWDEFAULT , чтобы использовать информацию автозапуска, предоставленную программой, которая запустила приложение. Это поведение разработано для следующих ситуаций:

  • Прикладные программы создают свое основное окно, вызывая CreateWindow с установкой флажка WS_VISIBLE .
  • Прикладные программы создают свое основное окно, вызывая CreateWindow со сброшенным флажком WS_VISIBLE , а позже вызывает функцию ShowWindow с установкой флажка SW_SHOW , чтобы делать окно видимым.

Windows api show window

Устанавливает состояние отображения указанного окна

#include
_WinAPI_ShowWindow ( $hWnd [, $iCmdShow = 5 ])

$hWnd Дескриптор окна
$iCmdShow [необязательный] Указывает как окно будет отображаться:
@SW_HIDE — Скрывает окно и активизирует другое окно
@SW_MAXIMIZE — Разворачивает указанное окно
@SW_MINIMIZE — Сворачивает указанное окно и активизирует следующее окно верхнего уровня в Z-порядке
@SW_RESTORE — Активизирует и отображает окно восстановленным
@SW_SHOW — Активизирует окно и отображает его с текущим размером и позицией
@SW_SHOWDEFAULT — Устанавливает основное состояние отображения окна с SW_ флагом указанным в структуре STARTUPINFO
@SW_SHOWMAXIMIZED — Активизирует и разворачивает окно
@SW_SHOWMINIMIZED — Активизирует и сворачивает окно
@SW_SHOWMINNOACTIVE — Сворачивает окно
@SW_SHOWNA — Отображает окно в его текущем состоянии
@SW_SHOWNOACTIVATE — Отображает окно с его последним размером и позицией
@SW_SHOWNORMAL — Активизирует и отображает окно
Читайте также:  Инструменте очистки chrome для windows
Успех: Возвращает True
Ошибка: Возвращает False

Искать ShowWindow в библиотеке MSDN

#include
; Запуск блокнота
Run ( ‘notepad.exe’ )

; Ожидание 5 секунд до появление окна блокнота
$hWnd = WinWait ( «[CLASS:Notepad]» , «» , 5 )
If Not $hWnd Then
MsgBox ( 4096 , ‘Сообщение’ , ‘Окно не найдено, завершаем работу скрипта’ )
Exit
EndIf

; Поверх всех окон, только для удобства просмотра эффектов
WinSetOnTop ( $hWnd , «» , 1 )

; Устанавливает состояния окна
_WinAPI_ShowWindow ( $hWnd , @SW_HIDE )
If IsHWnd ( $hWnd ) Then MsgBox ( 4096 , ‘Сообщение’ , ‘Окно скрыто’ , 5 )
_WinAPI_ShowWindow ( $hWnd , @SW_SHOW )
If IsHWnd ( $hWnd ) Then MsgBox ( 4096 , ‘Сообщение’ , ‘Окно отображено’ , 5 )
_WinAPI_ShowWindow ( $hWnd , @SW_MINIMIZE )
If IsHWnd ( $hWnd ) Then MsgBox ( 4096 , ‘Сообщение’ , ‘Окно свёрнуто’ , 5 )
_WinAPI_ShowWindow ( $hWnd , @SW_MAXIMIZE )
If IsHWnd ( $hWnd ) Then MsgBox ( 4096 , ‘Сообщение’ , ‘Окно на весь экран’ , 5 )
_WinAPI_ShowWindow ( $hWnd , @SW_RESTORE )
If IsHWnd ( $hWnd ) Then MsgBox ( 4096 , ‘Сообщение’ , ‘Окно восстановлено’ , 5 )

; Закрывает блокнот.
WinClose ( $hWnd )

WM_SHOWWINDOW message

Sent to a window when the window is about to be hidden or shown.

A window receives this message through its WindowProc function.

Parameters

Indicates whether a window is being shown. If wParam is TRUE, the window is being shown. If wParam is FALSE, the window is being hidden.

The status of the window being shown. If lParam is zero, the message was sent because of a call to the ShowWindow function; otherwise, lParam is one of the following values.

Value Meaning
SW_OTHERUNZOOM 4 The window is being uncovered because a maximize window was restored or minimized.
SW_OTHERZOOM 2 The window is being covered by another window that has been maximized.
SW_PARENTCLOSING 1 The window’s owner window is being minimized.
SW_PARENTOPENING 3 The window’s owner window is being restored.

Return value

Type: LRESULT

If an application processes this message, it should return zero.

Remarks

The DefWindowProc function hides or shows the window, as specified by the message. If a window has the WS_VISIBLE style when it is created, the window receives this message after it is created, but before it is displayed. A window also receives this message when its visibility state is changed by the ShowWindow or ShowOwnedPopups function.

The WM_SHOWWINDOW message is not sent under the following circumstances:

  • When a top-level, overlapped window is created with the WS_MAXIMIZE or WS_MINIMIZE style.
  • When the SW_SHOWNORMAL flag is specified in the call to the ShowWindow function.
Оцените статью