WNDCLASS wndc;
// 缺少 memset(&wndc, 0, sizeof(wndc)) 或 {0} 初始化
wndc.lpfnWndProc = WndProc;
wndc.hInstance = hInstance;
wndc.lpszClassName = szClassName;
// 其他字段 (style, hIcon, hCursor, hbrBackground, cbClsExtra, cbWndExtra, lpszMenuName) **未顯式賦值**
// Debug 模式下未初始化內存為 0xCCCCCCCC,導致 RegisterClass 失敗或創建窗口異常
WNDCLASS wndc = { 0 }; // C++ 聚合初始化,所有字段歸零
// 或
// memset(&wndc, 0, sizeof(WNDCLASS));
wndc.style = CS_HREDRAW | CS_VREDRAW;
wndc.lpfnWndProc = WndProc;
wndc.cbClsExtra = 0;
wndc.cbWndExtra = 0;
wndc.hInstance = hInstance;
wndc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wndc.hCursor = LoadCursor(NULL, IDC_ARROW);
wndc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); // 標準系統畫刷
wndc.lpszMenuName = NULL;
wndc.lpszClassName = szClassName;
if (!RegisterClass(&wndc)) { /* 錯誤處理 */ }
**結構體必須完全初始化**。Debug 下暴露問題,Release 下隱患依在。`WNDCLASS wndc = {0};` 一行解決 90% 此類離奇失敗。