WinMain

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

int WINAPI WinMain) HINSTANCE  hInstance, / / обработать текущий экземплярHINSTANCEhPrevInstance, / / обработать предыдущий экземплярLPSTRlpCmdLine, / / указатель для командной строкиintnCmdShow / / показать состояние окна);
 

Параметры

hInstance
Дескриптор текущего экземпляра приложения.
hPrevInstance
Обрабатывать в предыдущий экземпляр приложения. Для Win32-приложения этот параметр всегда имеет значение NULL.

Если вам нужно определить, существует ли уже другой экземпляр, создайте уникально именованного мьютекса с помощью функции CreateMutex . CreateMutex будет успешной, даже если мьютекс уже существует, но ERROR_ALREADY_EXISTS возвращает функция GetLastError . Это означает, что существует еще один экземпляр приложения, потому что он создал объект mutex сначала.

lpCmdLine
Указатель на ограниченную значением null строку, указав в командной строке для приложения, за исключением имя программы. Чтобы получить весь командной строки, используйте функция GetCommandLine.
nCmdShow
Определяет, как будет показано окно. Этот параметр может принимать одно из следующих значений:
Значение Значение
SW_HIDE Скрывает окно и активирует другое окно.
SW_MINIMIZE Минимизирует указанное окно и активирует окно верхнего уровня системы в списке.
SW_RESTORE Активируется и выводится окно. Если свернутого или развернутого окна, система восстанавливает свой оригинальный размер и положение (аналогично SW_SHOWNORMAL).
SW_SHOW Активирует окно и отображает его в свой текущий размер и положение.
SW_SHOWMAXIMIZED Активирует окно и отображает его в развернутом окне.
SW_SHOWMINIMIZED Активирует окно и отображает его в виде пиктограммы.
SW_SHOWMINNOACTIVE Отображает окно в значок. Активное окно остается активным.
SW_SHOWNA Отображает окно в текущем состоянии. Активное окно остается активным.
SW_SHOWNOACTIVATE Отображает окно в свои последние размер и положение. Активное окно остается активным.
SW_SHOWNORMAL Активируется и выводится окно. Если свернутого или развернутого окна, система восстанавливает свой оригинальный размер и положение (аналогично SW_RESTORE).

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

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

Примечания

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

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

Windows CE: Windows CE не поддерживает следующие значения для параметра nCmdShow

SW_MINIMIZE

SW_RESTORE

SW_SHOWMAXIMIZED

SW_SHOWMINIMIZED

SW_SHOWMINNOACTIVE

QuickInfo

nbsp; Windows &NT: требует версии 3.1 или более поздней версии.
Windows:Требует Windows 95 или более поздней версии.
Windows CE:Требует версии 1.0 или более поздней версии.
Заголовок:Объявленные в winbase.h.
Импорта библиотеки:Определяемые пользователем.

Родственные слова

Обзор Windows, функции окна, CreateMutex, DispatchMessage, GetCommandLine, GetMessage, PostQuitMessage, TranslateMessage