アットウィキロゴ

WishPanic

概要

メッセージを表示してプログラムを終了する。
win/winMain.c

引数

  • 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