我正在尝试使用 SendMessage 函数显示列表框的内容。但是,当我按下按钮执行下面的代码时,当我调用时,我的代码中出现以下段错误
SendMessage(hwndLBox,LB_GETTEXT,k,(LPARAM)lBoxitems);
段错误(dbgheap.c):
extern "C" _CRTIMP int __cdecl _CrtIsValidHeapPointer(
const void * pUserData
)
{
if (!pUserData)
return FALSE;
if (!_CrtIsValidPointer(pHdr(pUserData), sizeof(_CrtMemBlockHeader), FALSE))
return FALSE;
return HeapValidate( _crtheap, 0, pHdr(pUserData) );
}
导致此段错误的代码:
else if(LOWORD(wParam)==ID_BUTTON_CALC){
int getLboxitems = SendMessage(hwndLBox,LB_GETCOUNT,NULL,NULL);
char * lBoxitems = new char[getLboxitems];
for(unsigned int k=0; k < getLboxitems; k++){
SendMessage(hwndLBox,LB_GETTEXT,k,(LPARAM)lBoxitems);
MessageBox(hwnd,lBoxitems,"Listbox says",NULL);
}
delete[] lBoxitems;
}
我正在使用 Visual Studio Beta 2011 来编译我的代码。