void ShowSystemError()
{//Show error message of GetLastError()
LPVOID lpMsgBuf;
FormatMessage( 
FORMAT_MESSAGE_ALLOCATE_BUFFER | 
FORMAT_MESSAGE_FROM_SYSTEM | 
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
(LPTSTR) &lpMsgBuf,
0,
NULL 
);
MessageBox( NULL, (LPCTSTR)lpMsgBuf, "Error", MB_OK | MB_ICONINFORMATION );
LocalFree( lpMsgBuf );
}

解决方案 »

  1.   

    to masterz:我用你的函数试过了,对话框里面没有字体
      

  2.   

    12018       ERROR_INTERNET_INCORRECT_HANDLE_TYPE
                   The type of handle supplied is incorrect for this
                   operation.
      

  3.   

    除了用FormatMessage()外,还可以在调试的时候在Watch窗口中键入"@err,hr"来获取最后错误代码和英文描述,也得到GetLastError()的相关内容。
    Try it,good luckf !
      

  4.   

    to sam1111:
    在那儿可以查到?to yzpower
    试过了,只显示12018没有英文描述
      

  5.   

    to FrostyNeptune
    how to use "strerror"
      

  6.   

    To jyf7862:
    usage :
    char *strerror( int errnum )
    很好用
      

  7.   

    To FrostyNepture
    谢谢,我用过你的方法了
    可惜,它回答我Unknow Error
      

  8.   

    直接在watch窗口中键入
    ◎err,hr看看就行了。
      

  9.   

    我在watch窗口中键入◎err,hr 看过了,只显示12018,没有英语解释
      

  10.   

    VC有个工具的,在菜单里面找一下,是Error LookUp
      

  11.   

    usage:
    char *strerror( int errnum );
    很好用
      

  12.   

    To jyf7862 :
    Unknow Error 是Windows已无法辨认的错误或这系统知道此错误但没有相应的解释信息
    网络变成尤其如此
      

  13.   

    MSDN中的文档:INFO: WinInet Error Codes (12001 through 12156)
    上面有关于WinInet的各种错误说明。
    好像没给我分呀!