How to prevent notifications from being displayed when you run a PowerPoint presentation in full-screen mode (913045)



The information in this article applies to:

  • Microsoft PowerPoint 2003

INTRODUCTION

This article describes how to prevent notifications from being displayed when you run a Microsoft PowerPoint presentation in full-screen mode.

MORE INFORMATION

Applications, tools, and services sometimes generate notifications that can be displayed when the application, tool, or service is running in the background. When you run a PowerPoint presentation in full-screen mode, these notifications can interrupt and interfere with the presentation.

To disable these notifications, PowerPoint creates a file mapping and holds onto it. When applications such as Microsoft Outlook and Microsoft Office Communicator can open the file mapping successfully, the applications do not display notifications.

The following sample code demonstrates one method to prevent notifications from being displayed when a full-screen PowerPoint presentation is running. The MsoFPresentationMode function returns "fTrue" when the presentation is running in full-screen mode.
#define PRESENTATION_FILEMAP_NAME "Local\\FullScreenPresentationModeInfo"

MSOAPI_(BOOL) MsoFPresentationMode()

{
            HANDLE hMapFile = NULL;

            hMapFile = OpenFileMapping(PAGE_READONLY, fFalse /*InheritableHandle*/,  PRESENTATION_FILEMAP_NAME);      // Name of mapping object. 

            if (hMapFile == NULL)
                        return fFalse;

            CloseHandle(hMapFile);
            return fTrue;
}
The following sample code simulates the method that PowerPoint uses to publish the full-screen mode. The code creates the file mapping and holds onto it. When applications can open the file mapping successfully, the applications do not display notifications.

Note When PowerPoint is not running in full-screen mode, you should close the handle to the file mapping that you just created. When you do this, you can again receive notifications from applications such as Outlook and Office Communicator.
const WCHAR strFileMapName[] = L"Local\\FullScreenPresentationModeInfo";
HWND hWnd; 
hWnd=GetActiveWindow(); 

        HANDLE hFileMapping = CreateFileMapping(
            	INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, sizeof(CRect), strFileMapName);
        
        if(hFileMapping)
        {          
        	// Writing the application's rect into the shared memory
        	CRect *pRect = static_cast<CRect *>(MapViewOfFile(hFileMapping, FILE_MAP_WRITE, 0, 0, 0));
        	if(pRect)
        	{
            		GetWindowRect(hWnd, pRect);
            		UnmapViewOfFile(pRect);
        	}    
        }

Modification Type:MajorLast Reviewed:6/22/2006
Keywords:kbExpertiseInter kbProgramming kbhowto KB913045 kbAudDeveloper