Click here to Skip to main content
15,879,082 members
Articles / Mobile Apps / Windows Mobile

Having full screen without accessing the SHFullScreen API

Rate me:
Please Sign up or sign in to vote.
4.70/5 (12 votes)
26 Oct 2002CPOL2 min read 181.6K   731   40   26
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:

C++
/*
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:

C++
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:

C++
// 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, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer
Australia Australia
Passion to be a software architect and solution researcher in enterprise solutions by simplify and unify the existing complex manual paper works into an automated environment friendly, comprehensive and dynamic workflow process system.

Comments and Discussions

 
GeneralShowWindow Pin
matlox14-Jul-06 2:53
matlox14-Jul-06 2:53 
GeneralGlobal variables and hardcoded strings Pin
Buontempo30-Mar-06 0:23
Buontempo30-Mar-06 0:23 
Generaluse code with C# under VS.NET Pin
zrihen15-Aug-05 23:43
zrihen15-Aug-05 23:43 
GeneralRe: use code with C# under VS.NET Pin
CT CHANG16-Aug-05 0:48
CT CHANG16-Aug-05 0:48 
GeneralRe: use code with C# under VS.NET Pin
converdb24-Sep-05 12:57
converdb24-Sep-05 12:57 
GeneralTitles Pin
Lagwagon7-Mar-05 8:52
Lagwagon7-Mar-05 8:52 
GeneralProblem switching back to normal mode Pin
Ffelagund23-Feb-05 1:30
Ffelagund23-Feb-05 1:30 
GeneralRe: Problem switching back to normal mode Pin
CT CHANG23-Feb-05 20:02
CT CHANG23-Feb-05 20:02 
GeneralRe: Problem switching back to normal mode Pin
Ffelagund23-Feb-05 21:41
Ffelagund23-Feb-05 21:41 
GeneralRe: Problem switching back to normal mode Pin
GEHI G5-May-06 21:21
GEHI G5-May-06 21:21 
GeneralRe: Problem switching back to normal mode Pin
DuqueFP17-Mar-09 10:08
DuqueFP17-Mar-09 10:08 
GeneralProblem on PocketPC 2003 Mobile Pin
seanigan5-Oct-04 7:25
seanigan5-Oct-04 7:25 
GeneralRe: Problem on PocketPC 2003 Mobile Pin
CT CHANG5-Oct-04 14:59
CT CHANG5-Oct-04 14:59 
If you step through the FullScreen.cpp code, are the following variable value is NULL?

hWndInputPanel
hWndSipButton
hWndTaskBar

regards,

HACKZAI~ YOUR BUSINESS NEED, OUR CUSTOM MADE
GeneralRe: Problem on PocketPC 2003 Mobile Pin
Nigel621-Feb-05 5:25
Nigel621-Feb-05 5:25 
GeneralProblem Pin
Mukkie14-Nov-03 22:08
Mukkie14-Nov-03 22:08 
GeneralRe: Problem Pin
TemplMetaProg11-Dec-03 5:52
TemplMetaProg11-Dec-03 5:52 
GeneralRe: Problem Pin
CT CHANG25-Dec-03 0:33
CT CHANG25-Dec-03 0:33 
Generalsame in VS.Net and Win CE.Net Pin
schorschii18-Aug-03 20:26
schorschii18-Aug-03 20:26 
GeneralI'd need to use full screen, but... Pin
16-Jul-03 3:49
suss16-Jul-03 3:49 
GeneralRe: I'd need to use full screen, but... Pin
John M. Drescher16-Jul-03 4:24
John M. Drescher16-Jul-03 4:24 
QuestionFullscreen with MFC? Pin
S.Kirr8-Apr-03 23:04
S.Kirr8-Apr-03 23:04 
AnswerRe: Fullscreen with MFC? Pin
slomoman10-Oct-03 3:44
slomoman10-Oct-03 3:44 
GeneralRe: Fullscreen with VB.net in Pocket PC Pin
redman_888812-Mar-05 0:16
redman_888812-Mar-05 0:16 
GeneralWM_ACTIVATE Message Pin
CT CHANG9-Dec-02 13:31
CT CHANG9-Dec-02 13:31 
GeneralOnKillFocus / OnSetFocus Pin
Elek4-Dec-02 2:57
Elek4-Dec-02 2:57 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.