DOCUMENT:Q96427 12-JUN-1999 [win16sdk] TITLE :INFO: Detecting Whether a Menu Is Open PRODUCT :Microsoft Windows Software Development Kit PROD/VER:WINDOWS:3.1 OPER/SYS: KEYWORDS:kb16bitonly kbMenu kbSDKPlatform kbGrpDSUser ====================================================================== 3.10 WINDOWS kbprg ------------------------------------------------------------------------------- The information in this article applies to: - Microsoft Windows Software Development Kit (SDK) 3.1 ------------------------------------------------------------------------------- SUMMARY ======= With Windows version 3.1, an application can determine whether a menu is open in the system by calling the GetSystemDebugState function. An application can use this information to perform its tasks without interfering with the menu mechanism of Windows. MORE INFORMATION ================ For example, if a background application displays a hidden pop-up window while a menu is open in some other application, the user who opened the menu will be confused. In this situation, the background application must check the menu state of the system before displaying its hidden pop-up window. GetSystemDebugState function returns a LONG value that can be used to determine the menu state of the system. The function can be used as follows: if ( GetSystemDebugState() & SDS_MENU ) // Yes! There is a menu open. else // No! There is no menu open. For further information on the GetSystemDebugState function, please see page 445 of "Microsoft Windows Software Development Kit, Programmer's Reference, Volume 2: Functions" manual. Additional query words: 3.10 ====================================================================== Keywords : kb16bitonly kbMenu kbSDKPlatform kbGrpDSUser Technology : kbAudDeveloper kbWin3xSearch kbSDKSearch kbWinSDKSearch kbWinSDK310 Version : WINDOWS:3.1 Issue type : kbinfo ============================================================================= THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY. Copyright Microsoft Corporation 1999.