Click here to Skip to main content
13,868,223 members
Click here to Skip to main content
Add your own
alternative version


23 bookmarked
Posted 10 Dec 2002
Licenced CPOL

Enable floating SIP control in IPAQ/Windows CE .NET

, 10 Dec 2002
Rate this:
Please Sign up or sign in to vote.
Enable floating SIP control in iPAQ/Windows CE .NET devices.


This article give you the tips on how to have a floating SIP control in your Pocket PC/Windows CE .NET device. At the same time, you have learn on how to do a soft reset (without pressing any button) on your device.


You need to have some basic idea on how to access the registry as well as changing the respective value. The key value in this article is changing the registry value in order to create a floating SIP control.

Using the code

To implement this is quite simple, all you need is to include the soft reset API declare from winioctl.h as shown below, so that you can call the reset function right after changing the registry value.

// ------------------------------------------------------------
#include <winioctl.h>
                            METHOD_BUFFERED, FILE_ANY_ACCESS)

extern "C" __declspec(dllimport) BOOL KernelIoControl(
    DWORD dwIoControlCode, 
    LPVOID lpInBuf, 
    DWORD nInBufSize, 
    LPVOID lpOutBuf, 
    DWORD nOutBufSize, 
    LPDWORD lpBytesReturned);
// ------------------------------------------------------------

Once you have declared the above API, then you are free to execute the declare function as the code show below:

// Soft reset the device
KernelIoControl(IOCTL_HAL_REBOOT, NULL, 0, NULL, 0, NULL);

Next is the registry location for SIP style where the OS reference to. This will be the key value before the OS proceeds to create the SIP control. Therefore, the SIP style is controlled by the following registry key:

  • DragStyle = 0, means the SIP is non-movable.
  • DragStyle = 1, means the SIP is movable.

I have simplified the registry access by putting all the messy code into the few functions defined under the RegEdit.h and RegEdit.cpp. Hence, all you need is to call the SaveDWORD with the correct value when you tend to switch from non-movable to movable SIP control or vice-versa.

// Enable the movable SIP control
SaveDWORD(HKEY_CURRENT_USER, TEXT("ControlPanel\\Sip"), 
                                   TEXT("DragStyle"), 1);

// Disable the movable SIP control
SaveDWORD(HKEY_CURRENT_USER, TEXT("ControlPanel\\Sip"), 
                                   TEXT("DragStyle"), 0);

A soft reset is required for the changes made to take effect. Hence, after the above code is executed, the device is going to reset with the discuss reset function.

Points of interest

Feel free to explorer more on the Pocket PC registry setting and you will get more fun with it.


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

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.

You may also be interested in...


Comments and Discussions

Generalsip sdk solution Pin
dan rogy7-Oct-10 5:19
memberdan rogy7-Oct-10 5:19 
General[Message Deleted] Pin
it.ragester28-Mar-09 6:32
memberit.ragester28-Mar-09 6:32 
Questionproblem in porting wince to smdk 2410 board. Pin
amiya das30-Mar-08 22:09
memberamiya das30-Mar-08 22:09 
QuestionHow can I disable the SIP in the Telnet client Pin
Frank C29-Nov-07 9:55
memberFrank C29-Nov-07 9:55 
QuestionHow to disable the SIP? Pin
Lord Sy3-Jan-07 10:54
memberLord Sy3-Jan-07 10:54 
QuestionIsn't it much easier... Pin
Fernando A. Gomez F.24-Jul-06 11:53
memberFernando A. Gomez F.24-Jul-06 11:53 
GeneralSIP problem Pin
Marten7526-Sep-05 7:41
sussMarten7526-Sep-05 7:41 
GeneralIs SIP standard in WinCE.NET 4.2 Pin
linhjob22-Sep-05 8:09
susslinhjob22-Sep-05 8:09 
GeneralProblem displaying Floating SIP correctly Pin
Anonymous3-Aug-05 21:57
memberAnonymous3-Aug-05 21:57 
GeneralNetwork Pin
SMPCHRIS20-Apr-04 22:19
memberSMPCHRIS20-Apr-04 22:19 
Generalunresolved external symbol _SipShowIM Pin
karpavel12-Dec-03 21:00
memberkarpavel12-Dec-03 21:00 
GeneralRe: unresolved external symbol _SipShowIM Pin
CT CHANG25-Dec-03 1:29
memberCT CHANG25-Dec-03 1:29 
GeneralRe: unresolved external symbol _SipShowIM Pin
Anonymous25-Dec-03 21:46
memberAnonymous25-Dec-03 21:46 
GeneralI have resolved this problem Pin
karpavel25-Dec-03 22:13
memberkarpavel25-Dec-03 22:13 
GeneralCool Pin
Conor O'Doherty18-Jul-03 2:59
memberConor O'Doherty18-Jul-03 2:59 
QuestionWhat? Pin
John Burton11-Dec-02 1:59
memberJohn Burton11-Dec-02 1:59 
AnswerRe: What? Pin
Jared Bienz11-Dec-02 5:26
memberJared Bienz11-Dec-02 5:26 
GeneralRe: What? Pin
CT CHANG11-Dec-02 6:02
memberCT CHANG11-Dec-02 6:02 

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.

Permalink | Advertise | Privacy | Cookies | Terms of Use | Mobile
Web01 | 2.8.190214.1 | Last Updated 11 Dec 2002
Article Copyright 2002 by CT CHANG
Everything else Copyright © CodeProject, 1999-2019
Layout: fixed | fluid