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:

Before

  

After

  

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: http://dotnetzip.codeplex.com/). 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.

ClearDevice

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: 1221, size: 363.14 kB)

11 Comments

  1. Craig says:

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

  2. josef says:

    Hi

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

    See http://www.mydigitallife.info/change-soft-keys-shortcuts-on-windows-mobile-today-or-home-screen/ and change

    For Windows Mobile 6 Professional or Classic:
    [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Today\Keys\112]

    For Windows Mobile 6 Standard:
    [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Home\Keys\112]

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

    ~josef

  3. Gianni says:

    Hi,
    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 –
    Gianni

  4. josef says:

    Hi

    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.

    ~josef

  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,

    Krzysztof

  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!

  8. Andy says:

    Hi josef
    I am using this program and it works for me however I cannot get back to do a backup and end up having to wipe the whole handheld which is no biggy but a nuisance. After I hit remove (obviously) everything disappears but I have no way and doing a backup. Any suggestions? Also when hiding all the .lnk, is there a way to keep a couple of them. File explorer, RDP and a couple others that are needed to work with how I am configuring it?

  9. josef says:

    Hello Andy

    does [Restore] not work (before a wipe)?

    Reagrding what to remove is up to you, just edit the code.

    ~Josef

  10. Andy says:

    Hi Josef
    No when I remove all the links and restart I cannot get back to the Clear Device folder to preform a backup. and what lines of code do I modify? I opened all that I can in notepad to see if I can delete the code for File explorer and RPD but they still got removed. Can you specify where to remove the code? I see Form and Form1 but there is a couple other scripts that run in conjunction with them.

  11. josef says:

    Hello Andy

    I am sorry, but this a developer blog and I do not provide just-use tools.

    You need to download the code, remove or comment out the lines for the stuff you want keep and then compile your own application.

    ~Josef

Leave a Reply