WinMain

ฟังก์ชันWinMainจะเรียกว่าระบบเป็นจุดเริ่มต้นของรายการสำหรับการประยุกต์ใช้ Win32.

int (WINAPI WinMain HINSTANCE  hInstance, / / จัดการอินสแตนซ์ปัจจุบันHINSTANCEhPrevInstance, / / จัดการอินสแตนซ์ก่อนหน้าLPSTRlpCmdLine, / / ชี้ไปยังบรรทัดคำสั่งintnCmdShow / / แสดงสถานะของหน้าต่าง);
 

พารามิเตอร์

hInstance
จัดการกับอินสแตนซ์ปัจจุบันของโปรแกรมประยุกต์.
hPrevInstance
จัดการกับอินสแตนซ์ก่อนหน้าของโปรแกรมประยุกต์ สำหรับการประยุกต์การใช้ Win32 พารามิเตอร์นี้ว่างเสมอ.

ถ้าคุณต้องการตรวจสอบว่า อินสแตนซ์อื่นอยู่แล้ว สร้าง mutex ชื่อเฉพาะใช้ใน CreateMutexฟังก์ชัน CreateMutexจะประสบความสำเร็จแม้ว่า mutex มีอยู่แล้ว แต่ GetLastErrorฟังก์ชันจะส่งกลับค่า ERROR_ALREADY_EXISTS แสดงว่า มีอินสแตนซ์อื่นของโปรแกรมประยุกต์ของคุณ เนื่องจากนั้นสร้าง 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ไม่สามารถส่งค่าสายอักขระ Unicode เป็น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