WinMain 함수는 Win32 기반 응용 프로그램에 대 한 초기 진입점으로 시스템에 의해 호출 됩니다.
int WINAPI WinMain ( HINSTANCE hInstance, / / 현재 인스턴스 핸들HINSTANCEhPrevInstance, / / 이전 인스턴스 핸들LPSTRlpCmdLine, / / 커맨드 라인에 대 한 포인터intnCmdShow / / 창의 상태 보기);
다른 인스턴스가 이미 있는지 여부를 감지 해야 하는 경우 만들 사용 하 여 고유 하 게 명명 된 뮤텍스를 CreateMutex 함수. CreateMutex 뮤텍스가 이미 존재 하는 경우에 성공할 것입니다 하지만 GetLastError 함수는 ERROR_ALREADY_EXISTS를 반환 합니다. 먼저 뮤텍스를 만든 때문에이 응용 프로그램의 다른 인스턴스가 있음을 나타냅니다.
| 값 | 의미 |
|---|---|
| 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 매개 변수에 포함 된. 메시지 루프에 들어가기 전에 함수를 종료 하는 경우 그것은 0을 반환 한다.
WinMain 은 응용 프로그램 초기화 오고 표시의 메인 창 고 최상위 제어 구조를 응용 프로그램의 실행의 나머지 부분에 대 한 메시지 검색 및 디스패치 루프를 입력 해야 합니다. WM_QUIT 메시지를 받으면 메시지 루프를 종료 합니다. 그 시점에서, WinMain WM_QUIT 메시지의 wParam 매개 변수에 전달 된 값을 반환 하 고 응용 프로그램을 종료 해야 합니다. WM_QUIT PostQuitMessage를 호출의 결과로 받은 경우 wParam 값 PostQuitMessage 함수의 nExitCode 매개 변수의 값이입니다. 자세한 내용은 메시지 루프 만들기 을 참조 하십시오.
ANSI 응용 프로그램 WinMain 함수의 lpCmdLine 매개 변수를 사용 하 여 프로그램 이름을 제외 하 고 명령줄 문자열 액세스 수 있습니다. WinMain 유니코드 문자열을 반환할 수 없습니다 이유는 lpCmdLine 사용 LPSTR 데이터 형식이 아니라 LPTSTR 데이터 형식입니다. LPTSTR 데이터 형식을 사용 하기 때문에 커맨드 라인에서 유니코드 문자열에 액세스 하려면 GetCommandLine 함수를 사용할 수 있습니다.
Windows CE: Windows CE nCmdShow 매개 변수에 대해 다음 값을 지원 하지 않습니다.
SW_MINIMIZE
SW_RESTORE
SW_SHOWMAXIMIZED
SW_SHOWMINIMIZED
SW_SHOWMINNOACTIVE
nbsp;?Windows &NT: 버전 3.1 이상이 필요 합니다.
Windows:Windows 95 이상이 필요합니다.
Windows CE:버전 1.0 이상이 필요합니다.
헤더:Winbase.h에 선언 합니다.
가져오기 라이브러리:사용자 정의.
Windows 개요, 창 기능 CreateMutex, DispatchMessage, GetCommandLine, GetMessage, PostQuitMessage, TranslateMessage