Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Having full screen without accessing the SHFullScreen API

0.00/5 (No votes)
26 Oct 2002 1  
Add full screen capability in your PocketPC applications.

Introduction

This article shows you how to make a full screen PocketPC application by removing the taskbar, menubar, SIP button as well as reposition the input panel by your own code.

Background

If you're a Win32 application developer, then you'll be pretty familiar about the two main APIs that I have use in this sample code.

  • FindWindow
  • MoveWindow

As well as, a seldom used API in most of you daily work with, SystemParametersInfo.

Using the code

There are only two functions that you require to include into your project workspace and they are:

  • InitFullScreen(void)
  • DoFullScreen(bool)

When you access the InitFullScreen, it will get the current desktop window working area followed by setting the working area to 240 x 320 (full screen in PocketPC). Subsequently, it will locate the TaskBar, InputPanel (SIP) and the SIP button window handle and store the original window working area with the respective defined window class.

NOTE: The TaskBar, SIP Button and InputPanel window class can be found with the Spy++ tool bundle with the eVC++ IDE.

Later, you you access the DoFullScreen, it will move the TaskBar, SIP Button to the button of the windows working area (320). Which there will not be visible in the newly defined window working area (240 x 320) and vice-versa.

For more detail of the code, please refer to the FullScreen.h/cpp. Where all the routine job was done within this two function.

Below is the first step you need to do before accessing the above mentioned functions:

/*
Add the following code into your main project header or cpp file.
*/
extern RECT rtDesktop;
extern RECT rtNewDesktop;
extern RECT rtTaskBar;
extern int  InitFullScreen (void);
extern int  DoFullScreen   (bool);

Second, you require to call the InitFullScreen function under the WM_CREATE message as:

case WM_CREATE:
// Initialize full screen capability
InitFullScreen();

Now, you're ready to switch your application between full and non-full screen mode by the following code:

// Switch to full screen mode
DoFullScreen(true);

// Switch to non-full screen mode
DoFullScreen(false);

Points of interest

After you step through the sample code, you will learn most of the controls in MS Windows can easily be over taken by other applications provided you have successfully obtained the respective window handle (HWND).

Hence, you can start having fun by messing all the controls around your desktop. :)

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here