每当我使用MessageBox函数时,我都会获得第一次机会异常。我的留言箱就是这样。
MessageBox(NULL, (LPCWSTR)L"testing", (LPCWSTR)L"SOFTSAFETY", MB_OKCANCEL | MB_ICONWARNING);
如果我调试,我得到了这个
First-chance exception at 0x76267A24 (user32.dll) in Thread Message BOX.exe: 0xC0000005: Access violation reading location 0x001629D0.
First-chance exception at 0x76267A24 (user32.dll) in Thread Message BOX.exe: 0xC0000005: Access violation reading location 0x001629D0.
First-chance exception at 0x76267A24 (user32.dll) in Thread Message BOX.exe: 0xC0000005: Access violation reading location 0x001629D0.
First-chance exception at 0x76267A24 (user32.dll) in Thread Message BOX.exe: 0xC0000005: Access violation reading location 0x001629D0.
如何删除这些例外?由于这个例外,我的程序没有被暂停,它只是在输出窗口中显示。所以我可以忽略这些。请指导我。
答案 0 :(得分:1)
也许看一下MSDN对你有帮助吗? MessageBox函数具有以下原型:
int WINAPI MessageBox(
_In_opt_ HWND hWnd,
_In_opt_ LPCTSTR lpText,
_In_opt_ LPCTSTR lpCaption,
_In_ UINT uType
);
LPCTSTR
是指向TCHAR
的指针,并不一定是宽字符。在wtypes.h
中,您会找到:
const TCHAR *LPCTSTR
和TCHAR
可以是wchar_t
或char
,具体取决于您的项目设置。你的问题几乎可以肯定是你强迫(通过演员阵容)广泛的字符,预期常规字符。
您可以尝试使用_T()
宏,根据项目的配置生成常规或宽字符串文字。