Plainamp | ExtraMessageBox | Hartwork Project
ExtraMessageBox
ExtraMessageBox is an extension of the Windows API function MessageBox().
It lets you create enhanced popup message boxes easily.

Currently these additional features are supported:


Features:
* Hidden/disabled close button
* Checkbox "Do not show again"
* Checkbox "Remember my choice"


Benefits:
* Very easy to use: Drop-in, ready, GO!
* Written in plain C (does not depend on C++, WTL or MFC)
* Has counterparts for MessageBox(), MessageBoxEx() and MessageBoxIndirect()
* Checkbox is centered in the dialog
* Unicode compatible
* Licensed under GPL
MB_CHECKNEVERAGAIN
int bNeverAgain = 0;
ExtraMessageBox(
    NULL,
    "To re-enable the toolbar later please  \n"
        "go to Options / Interface / Toolbar.",
    "Toolbar",
    MB_ICONINFORMATION | MB_CHECKNEVERAGAIN,
    &bNeverAgain
);
The implementation is done using Windows Hooks and Thread Local Storage.

ExtraMessageBox() first sets up a thread specific CBT hook and calls the original Windows API function MessageBox(). It then modifies the dialog made from MessageBox() by inserting its own window procedure code on top off the old one. When the message box is closed the hook is uninstalled.
Source code:

emabox_082_source.zip

You can also browse the SVN repository online.
Software using ExtraMessageBox:

* Plainamp
* Your project?