Enabling Default Reply
5/10/2007
User32 provides the functionality to intercept every MessageBox function and automatically choose the default button. Not all message box windows are produced through the standard MessageBox function; therefore, this feature might not operate on all windows.
To instruct NTUSER to intercept messages, an additional key and values are required in the HKLM\System\CurrentControlSet\Control registry key. You might need to create the registry key and values on your system, as follows.
To set up your system to automatically reply to a message box without displaying it
In the HKLM\System\CurrentControlSet\Control registry key, create a new key named Error Message Instrument.
Under the Error Message Instrument key, add the values of type REG_DWORD from the following table.
Value Data Description EnableDefaultReply
0x00000001
Enables the Enable Default Reply feature.
EnableLogging
0x00000001
Enables event logging.
Under the Error Message Instrument registry key, add one of the LogSeverity values of type REG_DWORD from the following table.
Value Data Description LogSeverity
0x00000000 = EMI_SEVERITY_ALL
All message box events are logged.
LogSeverity
0x00000001 = EMI_SEVERITY_USER
Message box events with the dwStyle parameter defined are logged, including MB_USERICON, MB_ICONASTERISK, MB_ICONQUESTION, MB_ICONEXCLAMATION, and MB_ICONHAND.
LogSeverity
0x00000002 = EMI_SEVERITY_INFORMATION
Errors, warnings, questions, and information are logged. Message box events with no dwStyle parameter or dwStyle = MB_ICONUSER are not logged.
LogSeverity
0x00000003 = EMI_SEVERITY_QUESTION
Errors, warnings, and questions are logged. Information, events with no style, and user-defined severity levels are not logged.
LogSeverity
0x00000004 = EMI_SEVERITY_WARNING
Only errors and warnings are logged.
LogSeverity
0x00000005 = EMI_SEVERITY_ERROR. (EMI_SEVERITY_MAX_VALUE)
Only errors are logged.
To log message information to the event log
In the HKLM\System\CurrentControlSet\Services\EventLog\Application registry key, create a new key named Error Instrument.
Under the Error Instrument key, add the registry values from the following table.
Value Type Value TypesSupported
REG_DWORD
0x00000007
EventMessageFile
REG_EXPAND_SZ
%SystemRoot%\System32\User32.dll
You must reboot your target system for the changes to take effect.