Функция WinMain


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

Синтаксис:

int WINAPI WinMain(

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

);

Параметры

hInstance

[in] Дескриптор текущего экземпляра прикладной программы.

hPrevInstance

[in] Дескриптор предыдущего экземпляра приложения. Этот параметр всегда имеет значение ПУСТО (NULL). Если Вам нужно обнаружить, существует ли другой экземпляр уже существующей программы, создайте именованный mutex-объект, используя функцию CreateMutex. Функция CreateMutex завершится успешно, даже если мьютекс (флажок блокировки) уже существует, но функция возвратит ERROR_ALREADY_EXISTS. Это указывает (обозначает), что другой экземпляр вашего приложения существует, потому что он первым создал мьютекс.

lpCmdLine

[in] Указатель на строку с символом нуля в конце, устанавливающую командную строку для приложения, исключая имя программы. Чтобы извлечь полную командную строку, используйте функцию GetCommandLine .

nCmdShow

[in] Определяет, как окно должно быть показано. Этот параметр может быть одним из следующих значений:

Значение

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

SW_HIDE

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

SW_MAXIMIZE

Максимизирует заданное окно.

SW_MINIMIZE

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

SW_RESTORE

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

SW_SHOW

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

SW_SHOWMAXIMIZED

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

SW_SHOWMINIMIZED

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

SW_SHOWMINNOACTIVE

Отображает окно как пиктограмму. Это значение походит на флажок SW_SHOWMINIMIZED, исключая окно, которое не активизировано. 

SW_SHOWNA

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

SW_SHOWNOACTIVATE

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

SW_SHOWNORMAL

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

 Возвращаемые значения

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

Замечания

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

Приложения ANSI могут использовать параметр lpCmdLine функции WinMain, чтобы обратиться к командной строке, исключая имя программы. Причина этого в том, что WinMain не может возвращать строки Уникода из-за того, что lpCmdLine использует тип данных LPSTR, не тип данных LPTSTR. Функция GetCommandLine может быть использована для обращения к строкам

Unicode в командной строке, потому что она использует тип данных LPTSTR.

Смотри также

Краткий обзор Окна , CreateMutex, DispatchMessage, GetMessage, GetCommandLine, PostQuitMessage, TranslateMessage

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

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Да

Windows Me

Да

Windows 98

Да

Windows 95

Да

Используемая библиотека

User32.lib

Заголовочный файл

 

- объявлено в

Winuser.h

- включено в

Windows.h

Unicode

Нет

Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки
Перевод 15.09.2000 15:37 ©Copyright V. Sokovikov
Hosted by uCoz