【Q&A】 API が失敗した時に原因をしる方法 【Q】 多くの API は失敗すると FALSE を返したりしますが,具体的な原因を知る方法はないでしょうか. 【A】 GetLastError を使って次のようにデバッグ用のメッセージ ボックスを出してみるのはどうでしょう. void ErrorMessageBox(HWND hWnd) { #ifdef _DEBUG LPVOID lpMsgBuf; FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT) /* デフォルト言語 */, (LPTSTR)&l