หน้าต่างได้รับข้อความนี้เมื่อผู้ใช้เลือกคำสั่งจากเมนูหน้าต่าง(เดิมเรียกว่าเมนูระบบหรือตัวควบคุม) หรือเมื่อผู้ใช้เลือกปุ่มขยายใหญ่สุด ปุ่มย่อเล็กสุด การคืนค่าปุ่ม หรือปุ่มปิด.
WM_SYSCOMMAND uCmdType = wParam / / ชนิดของคำสั่งของระบบที่ร้องขอ xPos = LOWORD(lParam) / / ตำแหน่งในแนวนอน ในหน้าจอคู่ yPos = HIWORD(lParam) / / ประสานกับตำแหน่งในแนวตั้ง ในหน้าจอ
| ค่า | ความหมาย |
|---|---|
| SC_CLOSE | ปิดหน้าต่าง. |
| SC_CONTEXTHELP | เปลี่ยนเคอร์เซอร์เป็นเครื่องหมายคำถามกับตัวชี้ ถ้าผู้ใช้แล้วคลิกที่ตัวควบคุมในกล่องโต้ตอบ ตัวควบคุมได้รับข้อความ WM_HELP. |
| SC_DEFAULT | เลือกรายการตัวเลือกเริ่มต้น ผู้ใช้คลิกสองครั้งเพียงเมนูหน้าต่าง. |
| SC_HOTKEY | หน้าต่างที่เกี่ยวข้องกับคีย์ความร้อนที่ระบุโปรแกรมประยุกต์ที่เปิดใช้งาน คำว่าใบสั่งต่ำของlParamระบุหน้าต่างเพื่อเปิดใช้งาน. |
| SC_HSCROLL | เลื่อนตามแนวนอน. |
| SC_KEYMENU | ดึงเมนูหน้าต่างเป็นผลมาจากการกดแป้นพิมพ์. |
| SC_MAXIMIZE | หน้าต่างการขยายหน้าต่างใหญ่สุด. |
| SC_MINIMIZE | หน้าต่างการย่อหน้าเล็กสุด. |
| SC_MONITORPOWERnbsp & nbsp; | ตั้งค่าสถานะของการแสดงผล คำสั่งนี้สนับสนุนอุปกรณ์ที่มีคุณสมบัติการประหยัดพลังงาน เช่นคอมพิวเตอร์ส่วนบุคคลที่ใช้พลังงานแบตเตอรี. lParamสามารถมีค่าต่อไปนี้: 1 หมายถึง การแสดงผลจะให้พลังงานต่ำ. 2 หมายถึง การแสดงกำลังปิดระบบปิด. |
| SC_MOUSEMENU | ดึงเมนูหน้าต่างเป็นผลมาจากการคลิกเมาส์. |
| SC_MOVE | ย้ายหน้าต่าง. |
| SC_NEXTWINDOW | ย้ายไปยังหน้าต่างถัดไป. |
| SC_PREVWINDOW | ย้ายไปยังหน้าต่างก่อนหน้า. |
| SC_RESTORE | คืนค่าหน้าต่างปกติตำแหน่งและขนาดของ. |
| SC_SCREENSAVE | ดำเนินการที่ระบุในส่วน [boot] ของระบบโปรแกรมประยุกต์โปรแกรมรักษาหน้าจอแฟ้ม INI. |
| SC_SIZE | ขนาดของหน้าต่าง. |
| SC_TASKLIST | การเรียกใช้เมนู'เริ่ม'. |
| SC_VSCROLL | เลื่อนแนวตั้ง. |
แอปพลิเคชันควรกลับศูนย์ถ้าดำเนินกับข้อความนี้.
ฟังก์ชันDefWindowProcการดำเนินตามคำร้องขอเมนูหน้าต่างสำหรับการกระทำที่กำหนดไว้ล่วงหน้าที่ระบุในตารางก่อนหน้า.
ในข้อความ WM_SYSCOMMAND บิตต่ำลำดับสี่ของพารามิเตอร์uCmdTypeถูกใช้ภายใน โดยระบบ การขอรับผลถูกต้องเมื่อทดสอบค่าของuCmdTypeโปรแกรมประยุกต์ต้องรวมค่า 0xFFF0 ด้วยค่าuCmdTypeโดยใช้และตัวดำเนินการระดับบิต.
รายการในเมนูในเมนูหน้าต่างสามารถแก้ไขได้ โดยใช้เครื่องGetSystemMenu, AppendMenu, InsertMenu, ModifyMenu, InsertMenuItemและฟังก์ชันSetMenuItem โปรแกรมประยุกต์ที่ปรับเปลี่ยนเมนูหน้าต่างต้องประมวลผลข้อความ WM_SYSCOMMAND.
แอปพลิเคชันสามารถกระทำคำสั่งใด ๆ ระบบตลอดเวลา ด้วยการส่งข้อความ WM_SYSCOMMAND กับDefWindowProc WM_SYSCOMMAND ข้อความใด ๆ ที่ดำเนินการ โดยโปรแกรมประยุกต์ที่ไม่ต้องผ่านการDefWindowProc ค่าคำสั่งใด ๆ ที่เพิ่ม โดยโปรแกรมประยุกต์ต้องถูกประมวลผล โดยแอพลิเคชัน และไม่สามารถถูกส่งผ่านไปยังDefWindowProc.
เร่งความเร็วแป้นที่กำหนดไว้เมื่อต้องการเลือกรายการจากเมนูหน้าต่างจะแปลเป็นข้อความ WM_SYSCOMMAND กดแป้นพิมพ์ลัดอื่น ๆ ทั้งหมดจะแปลเป็นข้อความ WM_COMMAND.
nbsp Windows &NT:ต้องการเวอร์ชัน 3.1 หรือรุ่นที่ใหม่กว่า
Windows:ต้องใช้ Windows 95 หรือรุ่นที่ใหม่กว่า
Windows CE:ต้องการเวอร์ชัน 1.0 หรือรุ่นใหม่กว่า
หัวข้อ:ประกาศใน winuser.h.
ภาพรวมของแป้นพิมพ์ Acceleratorsข้อความเร่งความเร็วแป้นพิมพ์ ภาพรวมการจัดการพลังงาน AppendMenu, DefWindowProc, GetSystemMenu, InsertMenu, ModifyMenu, WM_COMMAND