Javscript would provide a navigation menu here. HOME

iLock System

Last update 24. jan 2007

Description

The iLock system enables you to lockdown a device into one application. The system is build on several main tools:

Additional tools

[Go to Downloads]

[Looking for source code?]

iLock2

This app should be run from the registry key hklm\init, so it will launch before the device shell. Although there is an Exit menu item, you need a password (52401) to leave iLock2. The application will disable input for the taskbar and the desktop and should normally "killed" by some custom application. If LockTaskbar is started it will close iLock2.

iLock3

The iLock3 screen

This will lock the screen until a specified process is running and a defined window title and/or window class is launched on the device (use a link in \Windows\Start Up to automatically launch an application on your device). You can use WinTreeCE to find the class name, the title text and executable name of an application.

As iLock2 was hard to handle for non-programmers, iLock3 will be configured by the registry:

 

REGEDIT4

 

[HKEY_LOCAL_MACHINE\SOFTWARE\Intermec\iLock3]

 

"Class2waitFor"="VXUTIL"

Specify the Class Name of the Window you would like iLock3 to wait for. Can be empty.

"Title2waitFor"="vxUtil"

Specify the Title of the window you would like iLock3 to wait for. Dont leave blank, device will remain locked in iLock3..

"App2waitFor"="vxutil.exe"

Enter the executable of the process you would like iLock3 to wait for. Dont leave blank, device will remain locked in iLock3.

"UseFullScreen"="0"

You can have iLock3 occupy the whole screen or spare for taskbar and menu bar.

"KeepLockedAfterExit"="0"

When iLock3 ends itself, it can leave taskbar and desktop locked or not.

"MaximizeTagetOnExit"="0"

Specify "1" if you like iLock to maximize the application it waits for.

Version 3.3 info
added ColdBoot menu item and code
added code to recognize ck60
added HideTaskBar in timer1
added version info resource

To launch iLock3 before the shell launches you should change the registry and insert a new Launch and Depend entry in HKLM\Init with numbers lower than the shell launch entry. As example, where shell32.exe is Launch50:

[HKEY_LOCAL_MACHINE\init]
 
"Launch45"="iLock3.exe"
 
"Depend45"=hex:14,00,1e,00

iLock version 4 (4.0.0.4)

see what is changed from iLock3 to iLock4. We now have additionally a Boot Option and a Info Screen

 1.0            initial release
 1.1            changed SignalStarted to return cmdline, so it can now be used with any launch/depend number
 2.0            many changes, customized for solquest
                now waits for "Login" Window, if not found sets window "mRetail by Solquest" to top
                tapping the process list (listview), stops the timers for about 5 seconds
                watches the running windows list for "Setup..." and "Installing..." windows to bring them to front
                Password dialog now sets focus inside pw textbox on WM_PAINT
 2.1            rearranged wait for 1. solquest (evm.exe, 2. mRetail..., 3. Login...
 3.0            many changes
 3.1            now we use the registry to read in the application to wait for and some more parameters
 3.2            changed KeepLoggedAfterExit to KeepLockedAfterExit,
                MaximizeWindow now only used if Title2waitFor>0
                replaced WaitForWindow with IsWindow so the UI is more responsive
 3.3            added ColdBoot menu item and code
                added code in isIntermec to recognize ck60
                added HideTaskBar in timer1
                added version info resource
 4.0            moved Registry read code in separate function ReadRegistry()
                added code to display informations like IP etc in About Dialog
 4.0.0.1        changed name from iLock4 to iLock
 4.0.0.2        wm_destroy added code for UseFullScreen, will hide/show taskbar on exit
 4.0.0.3        changed timer1 Hidetaskbar to depend on UseFullScreen
 4.0.0.4        removed KeepLockedAfterExit=0 from IDM_FILE_EXIT
 

iRotateCN2

This small app rotates the screen. Either it toggles between 0 and 90 degrees or you specify -0, -90, -180 or -270 on the command line.

Example: "iRotateCN2.exe -270" will rotate the screen to left. "iRotateCN2.exe -?" will show a short help.

iRun2

This application will start and watch the running of an application provided with the command line. Usually iRUN2 should be started from a batch, for example within AutoUser.dat of a CN2. iRun2 will watch the application is running and restarts it, if closed.

Examples:
"iRun2.exe iesample.exe" will start and restart iesample.exe.
"iRun2.exe -stop" will close iRun2 and it will no longer watch the exe is running.

iHook2

This application provides the user with key shortcuts to applications. Actually (2. june 2006) the assigned 'hot' keys and there applications are hard coded into the source:

F3      toggle screen rotation between 0 and 90 degree by use of iRotateCN2.exe

F4      toggles desktop and taskbar locking state by use of LockTaskbar

F5      toggles SIP (software input panel) show/hide by use of iSIP2

All keystrokes or hot keys are transparent, this means, they are not lost and will reach the application just running in foreground. iHook2 can be started by placing a link to the exe in \Windows\Startup, by a batch file or some other AutoStart feature of the device OS.

iHook2 Version 1.3

This versions uses the registry to read the assigned keys and applications. Additionally the app is now safe and will only load once. The only argument supported is "-writereg" to write a default registry (see below).

Sample registry:

[HKEY_LOCAL_MACHINE\SOFTWARE\Intermec\iHook2]
"arg4"="iRun2.exe"
"exe4"="\\windows\\iKill2.exe"
"key4"=hex:\
      1b
"arg3"=""
"exe3"="explorer.exe"
"key3"=hex:\
      71
"arg2"=""
"exe2"="\\windows\\iSIP2.exe"
"key2"=hex:\
      74
"arg1"="-toggle"
"exe1"="\\windows\\LockTaskBar.exe"
"key1"=hex:\
      73
"arg0"=""
"exe0"="\\windows\\iRotateCN2.exe"
"key0"=hex:\
      72

iHook3

New in version iHook3 (version 2.0)
recognizes CK60
adds Notification icon in taskbar

New in iHook3 (version 3.1)
recognizes CN3
supports consuming/forwarding switch for hot-keys. Use "ForwardKey" registry binary value 0 to disable forwarding hot-keys, 1 to enable forwarding hotkeys.
This new option is usefull if you have a phone device and hook the number keys. In this case disable forwarding with 0, otherwise the phone app will come in front for the number keys.

REGEDIT4

[HKEY_LOCAL_MACHINE\Software\Intermec\iHook3]
"arg0"=""
"exe0"="\\Windows\\iRotate.exe"
"key0"=hex:\
      26
"ForwardKey"=hex:\
      00

17. oct 2007: Bug fixed version v3.1.1 is now at iHook3.exe

KeyToggle

Using function keys by pressing numbers.

Note: Updated KeyToggle.exe and download cab. There was a bug, so the sticky key still produced wm_keydown messages. Fixed version is v2.1.1.0.

With keytoggle you can define a 'sticky' key that will change the beahviour of the number keys. As long as the sticky key is 'active', number keys from 1 to 0 will produce the function keys F1 to F10. If sticky key is active, the left LED will light in green.

To start keytoggle just tap it or let it start by a link in StartUp. If keytoggle is loaded, you can see a small yellow arrow sign in the taskbar.

If you tap this symbol, you are asked, if you want to unload the app. If the registry does not have values defined for keytoggle, it will use default values. If you try to launch keytoggle a second time you will get a message box. Only one instance of keytoggle can run at a time.

Using the registry you can define the behaviour of the sticky key. In example, you can have the sticky key remain active until it is pressed again, let it 'go off' or 'fallback' after a period of time or let it fallback after a number key has been pressed. If the sticky key is pressed again, it will always fallback.

REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Intermec\KeyToggle]
"Timeout"=dword:00000000
"autoFallback"=dword:00000001
"StickyKey"=dword:00000090

The values:

Launch arguments

Usage Sample Scenario

You have a ITC 700 Color device. This has a alphanumeric keyboard but no function keys. You need the function keys to be able to use a web application within iBrowse. With keytoggle you can now for example use the Gold key as sticky key. You have to download the keyboard remapper tool cpkbdmap.cab from the ITC site (archived version here) and assign the Gold key to NUMLOCK.

With this remapping and keytoggle running you will to get a function keystroke simulated if you press the Gold key and then a number key.

LockTaskbar

Locktaskbar simply locks the desktop and the taskbar.

New version supports WM5 devices as the CN3. See downloads

Additional tools

iKill2 

iSIP2

New version supports WM5 devices as the CN3. See downloads

iLockIE2

iCMD2

zDump

WinTreeCE

iWaitForExenew 31 jun 2005

rebootme

irebootme

iRunAtEvent

isEnetOnline

NoWakeUpKeys

NoWelcome

NoWakeupAtMidnight

Do you like your device wakes up every midnight? If not, this little tool is for you. It simply deletes the schedule entry for CALNOT.EXE, which is launched every midnight to update repeating alarms.

Download ARMv4(WM2003) ARMv4i(WM2005)

SNTPClient

You need a correct local time on your windows mobile device? Then check this free SNTP client app. It is configured using the registry:

REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Intermec\SNTPclient]
"TimeServer"="192.168.0.1"
"SynchroniseClock"=dword:00000001

Enter a time server (in example: time-a.nist.gov) and if the tool should update the clock or not. Everytime the app is launched, it will try to get the time by the specified time server. You will find a log at the root of your device: \SNTPClient.log.txt. You can place a link to the tool in \Windows\StartUp to have it run on every warm boot of the device.

Download ArmV4 (WM2003)


Default demo installation

There is a cab file that should be placed in DiskOnChip\Cabfiles (or Flash File Store\Cabfiles). So everytime the device is cold booted, it will install the iLock system. The installation will enter two new registry entries:

[HKEY_LOCAL_MACHINE\init]
"Launch45"="iLock2.exe"
"Depend45"=hex:14,00,1e,00

These files are copied to the windows dir:

AutoUser.dat file is copied to \DiskOnChip\2577

AutoUser.dat

AutoUser.dat is used to launch iHook2.exe and iRun2.exe with iesample.exe. Here is the content of the file:

run "\Windows\iHook2.exe"
run "\Windows\iRun2.exe" iesample.exe

That's all!


Downloads

    File

    CN2 version (Windows CE)

    Date

    7xx color version
    (PocketPC 2003)

    Date

iLock Documentation in Word format.

    iHook2.exe

    20 jun 2005

    20 jun 2005

    iHook3.exe

    24 jan 2006

    24 jan 2006

    iHook3.exe (v3.1)

    7 aug 2007

     17 oct 2007

    iKill2.exe

      29 jul 2005

    29 jul 2005

    iLock2.bmp

    20 jun 2005

    20 jun 2005

    iLock2.exe

    20 jun 2005

    20 jun 2005

    iRotateCN2.exe

    20 jun 2005

     -

    -

    iRun2.exe

    20 jun 2005

    20 jun 2005

    iSIP2.exe

    20 jun 2005
    7 aug 2007 

    20 jun 2005

    LockTaskbar.exe

    20 jun 2005
    7 aug 2007 

    20 jun 2005

    iLock3.exe

    15 sept 2005

    15 sept 2005

    iLock3 install cabs

    15 sept 2005

    15 sept 2005

    iLock v3.3

    24 jan 2006

    24 jan 2006

    iLock v4.0.0.4

    7 apr 2006

    7 apr 2006

Additional Tools

 

Windows CE 4.2 ARMv4i

Windows Mobile 2003 ARMv4

    iLockIE2

    23 jun 2005

     

     

    iCMD2

    -

    -

    22 jun 2005

    zDump

    23 jun 2005

    -

    -

    WinTreeCE (sources at yahoo)

    31 jun 2005

    31 jun 2005

    Keyboard remap tool

    -

    -

20 jun 2005 (upload date)

    iWaitForExe

    22 jul 2005

    -

    -

    rebootme

    22 jul 2005

    22 jul 2005

    iRunAtEvent

    22 jul 2005

    22 jul 2005

    isEnetOnline

    22 jul 2005

    22 jul 2005

    NoWakeUpKeys

    -

    -

    22 jul 2005

    30. jan 2007

    use left file too

 

    NoWelcome

    -

    -

    22 jul 2005

    NEW NoWelcome

AutoCard.exe

 

Sources

Click here to join ITC_Software
Click to join ITC_Software


(1) ITC is

[Counter]

last change: 25.Jun 2008