概要
引数
- char *format, ... 表示するエラーメッセージ
戻り値
ExitProcess(1);
処理
va_list argList;
TK_MAX_WARN_LEN は、 #define TK_MAX_WARN_LEN 1024
char buf[TK_MAX_WARN_LEN];
WCHAR msgString[TK_MAX_WARN_LEN + 5];
可変長リストの処理
va_start(argList, format);
vsprintf(buf, format, argList);
Unicode に変換
MultiByteToWideChar(CP_UTF8, 0, buf, -1, msgString, TK_MAX_WARN_LEN);
エラーメッセージが長いときは、メッセージを切り捨て、" ..."を追加する。
memcpy(msgString + TK_MAX_WARN_LEN, L" ...", 5 * sizeof(WCHAR));
win32APIで警告音とメッセージの表示
MessageBeep(MB_ICONEXCLAMATION);
MessageBoxW(NULL, msgString, L"Fatal Error in Wish",
MB_ICONSTOP | MB_OK | MB_TASKMODAL | MB_SETFOREGROUND);
プログラムの終了
ExitProcess(1);
最終更新:2011年10月31日 13:58