RegisterClassEx crashes - C++

RegisterClassEx crashes - C++

本文关键字:C++ crashes RegisterClassEx      更新时间:2023-10-16

我正在使用windows库,我是新手,但是我得到了一个错误,我搜索了足够的,我不知道发生了什么。

下面是我的代码:
LRESULT CALLBACK WbWindow::st_wind_callback(HWND hWnd, UINT Message, WPARAM wParam, LPARAM
lParam)
{
 // Code for the callback static function
return 0;
}
WbWMResult WbWindow::Create()
{
// Put in the class values for our window
class_window_instance.cbSize = sizeof(WNDCLASSEX);
class_window_instance.lpfnWndProc=WbWindow::st_wind_callback;
class_window_instance.lpszClassName = window_name;
class_window_instance.style = NULL;
class_window_instance.cbClsExtra = 0;
class_window_instance.cbWndExtra = 0;
class_window_instance.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
class_window_instance.hCursor = LoadCursor(NULL, IDC_ARROW);
class_window_instance.hIcon = LoadIcon(NULL, IDI_APPLICATION);
class_window_instance.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
class_window_instance.hInstance = main_instance;
class_window_instance.lpszMenuName = NULL;
if(!RegisterClassEx(&class_window_instance)){
    MessageBox(0,"There was an error registering the window-classname.","Critical Error!",MB_ICONSTOP | MB_OK);
    return WBE_CLASSREG;
}
window_instance = CreateWindowEx(WS_EX_STATICEDGE,window_name,window_title,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,window_width,window_height,NULL,NULL,main_instance,NULL);
if(window_instance == NULL){
    MessageBox(0,"There was an error creating a window.","Critical Error!",MB_ICONSTOP | MB_OK);
    return WBE_WINCREATION;
}
created = WbTrue;
return WB_SUCCESS;
}

我得到的错误,这是一个错误从调试器:未处理的异常,它说这是一个坏的指针在。lpszmenuname的问题,但这在许多例子中工作,我不知道为什么。

发生了什么事,我该怎么解决?
由于

lpszClassNamelpWindowName被定义为LPCSTR——window_name和window_title是否有有效的字符串值?它们在哪里定义?