一、FormatMessage
#include "windows.h"
void ShowErrMsg()
{
TCHAR szBuf[80];
LPVOID lpMsgBuf;
DWORD dw = GetLastError();
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
dw,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR) &lpMsgBuf,
0, NULL );
MessageBox(NULL, (LPTSTR)lpMsgBuf, "系统错误", MB_OK|MB_ICONSTOP);
//OutputDebugString();
LocalFree(lpMsgBuf);
}
LRESULT CALLBACK WinProc(HWND hwnd,UINT umsg,WPARAM wparam,LPARAM lparam);
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrecInstance,
LPSTR lpCmdLine,
int nShowCmd
)
{
TCHAR* clsName="myclass";
WNDCLASS mwc;
//设计窗口类
mwc.lpfnWndProc = WinProc; //窗口处理函数
//mwc.hbrBackground = (HBRUSH)COLOR_WINDOW; //窗口背景色
mwc.lpszClassName = clsName; // 窗口类名
mwc.style = NULL; //窗口类型
mwc.cbClsExtra = 0; //窗口扩展
mwc.cbWndExtra = 0; //窗口实例扩展
mwc.hCursor =

本文介绍了在Win32 API开发中如何利用GetLastError获取错误代码,并通过FormatMessage将其转换为易读的错误信息。通过示例代码展示了在窗口类不存在的情况下,如何显示详细的错误提示。

347

被折叠的 条评论
为什么被折叠?



