這是一個WinINet錯誤,因此與它關聯的消息存在於WinINet.dll中。你只需要告訴的FormatMessage()這個才能用它獲取正確的信息:
FormatMessage(
// flags:
FORMAT_MESSAGE_ALLOCATE_BUFFER // allocate buffer (free with LocalFree())
| FORMAT_MESSAGE_IGNORE_INSERTS // don't process inserts
| FORMAT_MESSAGE_FROM_HMODULE, // retrieve message from specified DLL
// module to retrieve message text from
GetModuleHandle(_T("wininet.dll")),
// error code to look up
errCode,
// default language
0,
// address of location to hold pointer to allocated buffer
(LPTSTR)&lpMsgBuf,
// no minimum size
0,
// no arguments
NULL);
這是在MSDN下的文件的WinINet的"Handling Errors" section正式記錄。
請注意,您可以添加FORMAT_MESSAGE_FROM_SYSTEM
標誌回來,如果你想使用這個程序錯誤,可能會或可能不有來自的WinINet:與地方標誌,將回落在系統消息表如果在wininet.dll中找不到該錯誤。但是,do not remove the FORMAT_MESSAGE_IGNORE_INSERTS flag。
哇不知道這個! – 2010-01-29 02:50:24
@Tommy你能證實它有效嗎? – 2010-01-29 02:50:41
使用WinINet教會了我很多我並不特別想知道的事情。 :-( – Shog9 2010-01-29 02:56:44