Article ID: 314989 - View products that this article applies to.
This article was previously published under Q314989
This article describes what to do to implement a custom password tool (redirect) for a Pocket PC device, and provides sample code to demonstrate the concept.
NOTE: The power-on password functionality may not function predictably on some devices. This is because the original equipment manufacturer of the device may change the StartUI component in some ways, which may change the behavior of the component or your ability to modify it.
The "Let Me In" sample replaces the standard Pocket PC password user interface with a doodle grid. The user can specify a pattern that connects the grid points by drawing on the grid in the Settings tool. After the password tool is enabled, and after the device is powered-on, the user must enter the pattern before any other tasks can be performed.
NOTE: Although the user sees the password tool in Settings, you (the developer) see the tool in the control panel.
Creating a Password ToolTo create a password tool (also known as applet), follow these steps:
The SetPassword FunctionThis Pocket PC function sets the system password to a new string.
lpszOldPassword. The current device password. This determines whether the user or program has permission to call this function. Specify NULL if there currently is no password set.
lpszNewPassword. The new password that you want. Specify NULL to remove the current password without setting a new one.
TRUE indicates that the change of password was successful.
FALSE indicates that the change of password was not successful.
The SetPasswordActive FunctionThis Pocket PC function enables or disables the password.
bActive. TRUE enables the password. FALSE disables the password.
lpszPassword. The current device password. This determines whether the user or program has permission to call this function.
TRUE indicates that activation of the password was successful.
FALSE indicates that activation of the password was not successful.
When active, this password can be used by the StartUI component and ActiveSync to control access to the device. In the case of ActiveSync, this function results in a password prompt that appears on the desktop. The StartUI component prompts for this password if the power-on password is enabled by means of the following registry setting:
[HKCU\ControlPanel\Owner]A flag-byte value of 0x01 enables the power-on prompt. A value of 0x00 disables the power-on prompt.
The GetPasswordActive FunctionThis Pocket PC function indicates whether the current password is active.
TRUE indicates that the password is active.
FALSE indicates that the password is not active.
The PromptForPasswd FunctionThis function is implemented by the password redirect module and is called by the operating system to prompt the user for a password.
hwndParent. The handle of the parent window. Make any password window a descendant of this window.
fTightSecurity. Always set this to TRUE. This parameter is currently reserved.
A password string that will be validated by the operating system. This string must be allocated with LocalAlloc and will be freed by the operating system.
The LetMeIn.exe DownloadNOTE: To make the code easier to read in the sample, error checking in the sample is not comprehensive.
The following file is available for download from the Microsoft Download Center:
Release Date: 06-June-2002
Download LetMeIn.exe now
Collapse this imageExpand this image
For additional information about how to download Microsoft Support files, click the following article number to view the article in the Microsoft Knowledge Base:
119591Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help to prevent any unauthorized changes to the file.
(http://support.microsoft.com/kb/119591/EN-US/ )How to Obtain Microsoft Support Files from Online Services
The LetMeIn.exe file contains 19 files of varying sizes.
Collapse this tableExpand this table
Article ID: 314989 - Last Review: August 9, 2004 - Revision: 4.2