Knowledge Base

FIX: BroadcastSystemMessageA Not Found in User32.dll on Win 95

Article ID: 182809

Article Last Modified on 7/11/2005


APPLIES TO


This article was previously published under Q182809

SYMPTOMS

When an application running under Windows 95 calls BroadcastSystemMessage, the application fails with the following error:
BroadcastSystemMessageA not found in User32.dll.

CAUSE

The WINUSER.H header file contains the following code:
   #ifdef UNICODE
   #define BroadcastSystemMessage  BroadcastSystemMessageW
   #else
   #define BroadcastSystemMessage  BroadcastSystemMessageA
   #endif
				
The error occurs under Windows 95 because BroadcastSystemMessageA is not exported by USER32.DLL. The same code works as expected under Windows 98 and Windows NT since both BroadcastSystemMessage and BroadcastSystemMessageA are exported by USER32.DLL.

RESOLUTION

Use the following code to call BroadcastSystemMessage instead of BroadcastSystemMessageA:
   #include <windows.h>

   #ifdef BroadcastSystemMessage
   #undef BroadcastSystemMessage
   #define BroadcastSystemMessage BroadcastSystemMessage
   #endif

STATUS

This bug was corrected in Windows 98 and later by exporting both BroadcastSystemMessage and BroadcastSystemMessageA from USER32.DLL.

Additional query words: User32.dll

Keywords: kbbug kbfix kbshell kboswin98fix kboswin2000fix KB182809