[英]another win32 problem
這里有一個問題,用c ++和win32 api創建一個子窗口。 如果我檢查getLastError函數它返回“87”但我不知道這意味着什么。 我知道我的代碼不包含錯誤,有人可以查看我的代碼並幫我弄清楚它是什么問題。
(這是在WinProc WM_CREATE部分。)
HWND hChildWindow = CreateWindowEx(WS_EX_CLIENTEDGE,0,NULL,WS_OVERLAPPEDWINDOW|WS_VISIBLE,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,hwnd,0,GetModuleHandle(0),NULL);
if(!hChildWindow)
{
char text[256];
int errormsg = (int)GetLastError();
sprintf(text,"Error# %i",errormsg);
MessageBox(0,text,"Error",MB_OK|MB_ICONEXCLAMATION);
return false;
}
CreateWindowEx
的第二個參數是一個窗口類(字符串或ATOM
)。 顯然, NULL
不是有效值。
PS
據我所知,我的代碼不包含錯誤......
小心這樣一個響亮的短語。 當某些東西不起作用時,應仔細檢查所有東西。 否則你可能只是指責一些人沒有任何好處來解決這個問題。 檢查所有內容與標准/文檔/規范/等。 在你作出任何判斷之前。
87 =無效參數 - 請注意您可以使用FormatMessage從錯誤代碼中獲取字符串消息。
快速查看系統錯誤代碼參考指示ERROR_INVALID_PARAMETER
。 您最有可能將無效的樣式/標志組合傳遞給窗口。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.