声明:本人一个菜鸟,网上搜罗了很多关于VC++编程的资料,可每本资料都是涵盖面太广,难以细致。英语又太烂,所以不得意只得摸索,恐又忘记所以记在此处,若有不对的地方,烦劳指出,不胜感激。
author:fym0121@163.com
license:GPL
IDE:Visual Studio 2008
扑捉并打印错误
DWORD dwError = GetLastError(); //FormatMessage内部分配内存,我们需要hlocal指向它 HLOCAL hlocal = NULL; //系统默认语言,值貌似是0 DWORD systemLocale = MAKELANGID(LANG_NEUTRAL,SUBLANG_NEUTRAL); BOOL fOk = FormatMessage( FORMAT_MESSAGE_FROM_SYSTEM | //系统预定义错误 FORMAT_MESSAGE_IGNORE_INSERTS | //忽略%符,和printf中的%有点相似 FORMAT_MESSAGE_ALLOCATE_BUFFER, //内部分配内存 NULL, //在系统中查找错误代码 dwError, //错误代码 systemLocale, //用什么语言显示错误文本 (PTSTR)&hlocal, //指向内部分配内存的指针 0, //分配内存大小,因是FormatMessage分配,我们不用管 NULL //可变参数列表 ); // Do something (PCTSTR)LocalLock(hlocal) LocalFree(hlocal);