Win32 API. Функции окна - Функция WinMain

ОГЛАВЛЕНИЕ

Функция WinMain

(ГлавноеОкно)

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

Синтаксис:

int WINAPI WinMain
(
HINSTANCE hInstance, // дескриптор текущего экземпляра окна
HINSTANCE hPrevInstance, // дескриптор предыдущего экземпляра окна
LPSTR lpCmdLine, // указатель на командную строку
int nCmdShow // показывает состояние окна
);

Параметры

hInstance
Идентифицирует текущий образец прикладной программы.
hPrevInstance
Идентифицирует предыдущий образец прикладной программы. Для базирующейся на Win32 прикладной программы, этот параметр всегда имеет значение ПУСТО (NULL). Если Вам нужно обнаружить, существует ли другой образец уже существующей программы, создайте именованный mutex-объект, используя функцию CreateMutex. Если функция GetLastError возвращает сообщение ERROR_ALREADY_EXISTS, другой образец вашей прикладной программы существует (это создано mutex-объектом).
lpCmdLine
Указывает на строку с нулевым символом в конце, определяющую командную строку для прикладной программы.
nCmdShow
Определяет, как окно должно быть показано. Этот параметр может быть одним из следующих значений:

  • SW_HIDE - Скрывает окно и активизирует другое окно.
  • SW_MINIMIZE - Минимизирует определенное окно и активизирует окно верхнего уровня в списке системы.
  • SW_RESTORE - Активизирует и отображает окно. Если окно минимизировано или развернуто, Windows восстанавливает его в первоначальном размере и позиции (то же самое, что и SW_SHOWNORMAL).
  • SW_SHOW - Активизирует и отображает окно на экране в его текущем размере и позиции.
  • SW_SHOWMAXIMIZED - Активизирует окно и отображает его как развернутое окно.
  • SW_SHOWMINIMIZED - Активизирует окно и отображает его как пиктограмму.
  • SW_SHOWMINNOACTIVE - Отображает окно как пиктограмму. Активное окно остается активным.
  • SW_SHOWNA - Отображает окно в его текущем состоянии. Активное окно остается активным.
  • SW_SHOWNOACTIVATE - Отображает окно в его самых последних размерах и позиции. Активное окно остается активным.
  • SW_SHOWNORMAL - Активизирует и отображает окно. Если окно минимизировано или развернуто, Windows восстанавливает его в первоначальный размер и позицию (то же самое, что и SW_RESTORE).

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

Замечания
WinMain инициализирует прикладную программу, отображает на экране её основное окно и, затем, входит в цикл сообщений " поиск и отправка по назначению (диспетчеризация)", который является управляющей структурой верхнего уровня для остальных элементов выполнения прикладной программы. Цикл сообщений завершается, когда получено сообщение WM_QUIT. В этой точке, WinMain завершает работу прикладной программы, возвращая значение, переданное в параметр wParam сообщения WM_QUIT. Если WM_QUIT было получено в результате вызова PostQuitMessage, значение wParam - значение параметра nExitCode функции PostQuitMessage. Для получения дополнительной информации, см. Создание Цикла Сообщений (Creating a Message Loop).

Смотри также
CreateMutex, DispatchMessage, GetMessage, PostQuitMessage, TranslateMessage

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

Windows NT			Да 
Win95 Да
Win32s Да
Импортируемая библиотека
Заголовочный файл winbase.h
Unicode Нет
Замечания по платформе Не имеется