C++ Builder Tips


WindowsAPIのエラーメッセージの処理


GetLastError()で拾えるメッセージが出てきたときに、この関数を呼び出すことで、自動的にエラーメッセージが表示されます。
WindowsAPIを使用したときにでるエラーメッセージを解析して、内容をダイアログに表示します。


void errorHandler(void)
{
  LPVOID lpMsgBuf; //Message Buffer

  //Generate Error Message from GetLastError
  FormatMessage(
    FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
    NULL,
    GetLastError(),
    MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
    (LPTSTR) &lpMsgBuf,
    0,
    NULL
 );

  // Display the string.
  MessageBox(hOwner, (const char*)lpMsgBuf, "エラー", MB_OK);

  // Free the buffer.
  LocalFree(lpMsgBuf);
}


目次に戻る
Copyright(c) 2008 WoodenSoldier Software