There are numerous calls to Win32 API that return detailed information as to failure via GetLastError (). I've devised a method by which to get the textual information corresponding to error and the address of the call that caused the violation. If GetLastError () returns null, then it can serve as possibly a simpler way to use MessageBox (). I've only tested this on XP, but it failed miserably on a Sony Lapton running ME.
What you need to define is; style for message box, Caption & Text. If last error was not null, then you'll see
Error < 128> @ [ 40103A ]
Message from system
What you defined as message body text
and then dependant upon MessageBox style buttons for your response