Windows Mobile: Kiosk mode – Clear Today and Programs

Print This Post Print This Post

This time I combined a set of functions to clear the Start Menu and the Today/Home Screen:





Empty the Start Menu

The Start Menu is cleared by removing all files below “\Windows\Start Menu” (using SHGetSpecialFolderPath) after the whole bunch has been backed up into a Zip file (using Ionic compact framework library: Additionally one registry key has to be changed to remove the Setting icon (HKLM\Security\Shell\StartInfo:HideSettings).

If the Settings icon has been changed, you need to reboot the device to make it visible or not.

Empty the Home Screen

All items in the home screen are enabled via the registry. The tool simply iterates thru all subkeys of HKLM\Software\Microsoft\Today\Items and sets Enabled=0. Before doing so another Backup is created with the current settings (using XML and serialization). Additionally, some other reg keys have to be changed: One is HKLM\Software\Microsoft\Today:Date to hide the Date item. Another is
HKLM\Software\Microsoft\Today:Enabled and, to disable the Home screen will popup periodically, HKLM\Software\Microsoft\Shell\Rai:SessionTimeout.

After changing the Home screen items via an app, the device has to be rebooted.


The tool enables you to play with the above settings. It does backups before removing all the default stuff, so you can restore the settings later on.

Source code and binary

Attached is the source code (VS2008, WM 6.5.3 DTK, CF3.5, C#) and a binary inside.

DOWNLOAD:ClearDevice (source and bin) - (Hits: 1123, size: 363.14 kB)


  1. Craig says:

    Hi, do you know how to remove the Phone and Contacts buttons from the Home screen? Regards, Craig

  2. josef says:


    you better simple change the apps behind the buttons. Removing will require FindWindow and ShowWindow(SW_HIDE).

    See and change

    For Windows Mobile 6 Professional or Classic:

    For Windows Mobile 6 Standard:

    @=”” (Or label as Default)
    “Open”=”[Enter path to the location of handling app program or executable]”


  3. Gianni says:

    I am dealing with some WM6.5 scanner,and I was wondering how to remove all icons but one or two from the start menu. Of course I found your code really interesting for that purpose.
    As I am not an expert of WM devices, I have some question:
    – how do I install and run your code?
    – after that the start screen is empty, is it possible to manually add only selected applications?
    Thanks a lot –

  4. josef says:


    it depends. The start menu displays just links to applications. The start menu is build from to contents in directory “\Windows\Start Menu” just like in desktop windows.

    The today screen is filled with extensions set in Start-Settings-Home. Just tick the items you want to get back on the home screen.


  5. Gianni says:

    Hi Josef an thanks for your answer, I will try to deal with it.
    Can you please give me a few lines about how to install and run it? Thanks Gianni

  6. Krzysztof Kielan says:

    Hi Josef,

    thank you for many interesting articles, they were very helpful in kiosk development process. However I would have one question:

    Is it possible in any way to hide the taskbar (not cover it with fullscreen but hide so it is not visible on the windows screen) and the same for the bottom menu with phone and contacts buttons (I have already disabled start and done buttons as you suggested in your kiosk part 1 article). Almost forgot, I’m using Winwows Handheld 6.5.3.

    I would much appriciate your help.

    Best regards,


  7. josef says:

    Why not just look for HHTASKBAR and use ShowWindow(hWnd, SW_HIDE). Same for the menu bar but with a different class name(s). Names as the menubar appears for every loaded process that has a menu.
    And, note, hiding the taskbar or menubar may not ‘hide’ them, as the screen is not updated and the foreground window does not use the full screen but only the client area available with task bar and menu bar visible!

Leave a Reply