Message Boxes Are Hidden on the Desktop
  
PSS ID Number: Q185244
Article last modified on 08-12-1998
 
WINDOWS:98
 
WINDOWS
 

======================================================================
---------------------------------------------------------------------
The information in this article applies to:
 
 - Microsoft Windows 98
---------------------------------------------------------------------
 
IMPORTANT: This article contains information about editing the registry.
Before you edit the registry, make sure you understand how to restore it
if a problem occurs. For information about how to do this, view the
"Restoring the Registry" Help topic in Regedit.exe or the "Restoring a
Registry Key" Help topic in Regedt32.exe.
 
SYMPTOMS
========
 
When you run a program that opens a message box, you may not see the
message box on the desktop while you run other programs.
 
For example, if your computer participates in a network, you may not see
a pop-up message from the network administrator.
 
If you run a debugger program, set a break point in your program code,
and then run other programs, the debug terminal window may not appear in
the foreground when the break point is reached.
 
CAUSE
=====
 
This behavior can occur if the program in the foreground uses one of the
following Application Programming Interface (API) methods:
 
 - SetForegroundWindow()
 - SetActiveWindow()
 - SetFocus()
 
Windows 98 may return a value of FALSE to a program when one or more of
these API methods is used. Microsoft Windows 95 generally returns a value
of TRUE and allows a program to immediately open a message box on top of
the desktop.
 
RESOLUTION
==========
 
To resolve this behavior, add a compatibility entry for each program to
the [Compatibility95] section of the Win.ini file, the [Compatibility32]
section of the Win.ini file, or both sections. This causes Windows 98 to
emulate the behavior of Windows 95 for each program with an appropriate
entry.
 
For example, Microsoft Visual C++ has the following entry in the
[Compatability95] section of the Win.ini file:
 
   MSDEV=0x00000002
 
Watcom Debugger 11.0a requires the following entry in the
[Compatibility95] section of the Win.ini file:
 
   WDW=0x00000002
 
Contact the software manufacturer for the appropriate compatibility entry.
 
WARNING: Using Registry Editor incorrectly can cause serious problems
that may require you to reinstall your operating system. Microsoft cannot
guarantee that problems resulting from the incorrect use of Registry
Editor can be solved. Use Registry Editor at your own risk.
 
For information about how to edit the registry, view the "Changing Keys
And Values" Help topic in Registry Editor (Regedit.exe) or the "Add and
Delete Information in the Registry" and "Edit Registry Data" Help topics
in Regedt32.exe. Note that you should back up the registry before you edit
it.
 
To work around this behavior, add a "ForegroundLockTimeout" (without
quotation marks) binary value with a data value of "00 00 00 00" to the
following registry key:
 
   HKEY_CURRENT_USER\Control Panel\Desktop
 
Note that this alters the behavior of Windows 98 and all your programs.
This can lead to unexpected results.
 
You can also work around this behavior by pressing ALT+TAB to switch
between programs in the foreground or minimize other programs on the
desktop.
 
MORE INFORMATION
================
 
The following programs may demonstrate this behavior:
 
 - Windows 98 Infrared Monitor Control Panel tool
 - Watcom Debugger version 11.0a
 - Borland Turbo Debugger
 - Blue Sky Software RoboHelp 5.0
 - IBM Global Network Dialer
 - Setup programs that use InstallShield by InstallShield Software
 
A programmer writing a program can use an API method to make requests of
the operating system or another program. The SetForegroundWindow() API
method is used in Windows 98 by a program to bring an object to the
desktop foreground when you take any of the following actions:
 
 - Click Start, click Run, and then type the name of a program in the
   Open box.
 
 - Drag a data file to a program.
 
 - Click a command in a program that opens a new window.
 
Additional query words: block
======================================================================
Keywords          : kbenv win98
Version           : WINDOWS:98
Platform          : WINDOWS
Issue type        : kbprb
=============================================================================
Copyright Microsoft Corporation 1998.