GetLastError信息在massagebox中显示
时间: 2024-03-23 20:41:57 浏览: 11
可以使用MessageBox函数将Win32错误码转换为错误信息字符串,并弹出消息框显示。
例如:
```c++
#include <Windows.h>
int main() {
HANDLE hFile = CreateFile(L"test.txt", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if (hFile == INVALID_HANDLE_VALUE) {
DWORD dwErrorCode = GetLastError();
LPWSTR lpwErrorMessage = NULL;
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, dwErrorCode, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPWSTR)&lpwErrorMessage, 0, NULL);
MessageBox(NULL, lpwErrorMessage, L"Error", MB_OK | MB_ICONERROR);
LocalFree(lpwErrorMessage);
} else {
CloseHandle(hFile);
}
return 0;
}
```
在上面的示例中,我们首先使用CreateFile函数打开一个不存在的文件,导致函数返回INVALID_HANDLE_VALUE,然后获取错误码,使用FormatMessage函数将错误码转换为错误信息字符串,并使用MessageBox函数弹出消息框显示错误信息。注意,在使用完错误信息字符串后,需要使用LocalFree函数释放内存。