#include<Windows.h>
#include<tchar.h>
VOID ReportError(LPCTSTR userMessage, DWORD exitCode, BOOL printErrorMessage) {
DWORD eMsgLen, errNum = GetLastError();
LPTSTR lpvSysMsg;
_ftprintf(stderr, _T("%s\n"), userMessage);
if (printErrorMessage) {
eMsgLen = FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM,
NULL, errNum,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR)&lpvSysMsg, 0, NULL);
if (eMsgLen > 0) {
_ftprintf(stderr, _T("%s\n"), lpvSysMsg);
}
else {
_ftprintf(stderr, _T("Last Error Number;%d.\n"), errNum);
}
if (lpvSysMsg != NULL)LocalFree(lpvSysMsg);
}
if (exitCode > 0)ExitProcess(exitCode);
return;
}
int _tmain(int argc, LPTSTR argv[]) {
CloseHandle(0);
_tsetlocale(0, _T("CHS"));
ReportError(_T("ghx:"),0,1);
}
windows错误打印
最新推荐文章于 2023-04-28 16:59:11 发布