MORE INFORMATION
Creating a Password Tool
To create a password tool (also known as applet), follow these
steps:
- Create a DLL project that outputs a module named
Password.cpl.
- Implement and export the CPlApplet() function to create the new tool.
Use the CheckPassword function, the SetPassword function, and the SetPasswordActive function to set the platform password settings. Use this password
for two things that must be considered:
- The ActiveSync desktop component can request this
password when the device tries to connect.
- The device can request this password during power-on
before any other operations can be performed.
- Implement and export the PromptForPasswd() function. This function displays the power-on password
interface.
- Create a .cpl file association in the device registry. This
is required for some other critical registry keys to work correctly:
[HKCR\.cpl]
(default) = "cplfile"
[HKCR\cplfile\Shell\Open\Command]
(default) = "\Windows\ctlpnl.exe %1"
Microsoft also recommends the following optional keys for
completeness:
[HKCR\cplfile]
(default) = "<description>"
[HKCR\cplfile\DefaultIcon]
(default) = "<module-name>,<icon-resource-id>"
- Set the location of the redirect password module in the
device registry.
[HKLM\ControlPanel\Password]
"Redirect" = "\windows\password.cpl"
NOTE: You must name the module Password.cpl for the
module to be backward compatible with earlier versions of the Pocket PC
platform. - NEW TO POCKET PC 2002: set the password request timeout policy in the device registry:
[HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Shell]
"ActivePeriod"=DWORD:<minutes>
This minutes value determines how long the device must be off continuously
before power-on prompts for the password. A value of 0 (zero) indicates that the device always prompts for the password.
That is, if this value is not 0 (zero), and the device is not turned off for the specified period
of time, the password dialog does not appear when you resume the device. The
control panel tool can provide a user interface to make this
user-configurable.
Special Functions
The SetPassword Function
This Pocket PC function sets the system password to a new string.
BOOL SetPassword(
LPWSTR lpszOldPassword,
LPWSTR lpszNewPassword );
ParameterslpszOldPassword. 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.
Return Values TRUE indicates that the change of password was
successful.
FALSE indicates that the change of password was not
successful.
The SetPasswordActive Function
This Pocket PC function enables or disables the password.
BOOL SetPasswordActive(
BOOL bActive,
LPWSTR lpszPassword );
ParametersbActive. 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.
Return Values 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]
"PowrPass"=REG_BINARY:<flag-byte>
A
flag-byte value of
0x01 enables the power-on prompt. A value of
0x00 disables the power-on prompt.
The GetPasswordActive Function
This Pocket PC function indicates whether the current password is
active.
BOOL GetPasswordActive( void );
Return Values TRUE indicates that the password is active.
FALSE
indicates that the password is not active.
The PromptForPasswd Function
This function is implemented by the password redirect module and
is called by the operating system to prompt the user for a password.
LPTSTR PromptForPasswd(
HWND hwndParent,
BOOL fTightSecurity );
ParametershwndParent. 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.
Return Values 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 Download
NOTE: 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
For additional information about how to download
Microsoft Support files, click the following article number to view the article
in the Microsoft Knowledge Base:
119591 How to Obtain Microsoft Support Files from Online Services
Microsoft 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.
The LetMeIn.exe file contains 19 files of varying
sizes.
|
EULA.txt | 2 |
LetMeIn.def | 1 |
LetMeIn.ico | 1 |
LetMeIn.rc | 3 |
LetMeIn.vcb | 49 |
LetMeIn.vcl | 3 |
LetMeIn.vco | 49 |
LetMeIn.vcp | 36 |
LetMeIn.vcw | 1 |
LmiDialog.cpp | 16 |
LmiDialog.h | 1 |
LmiDoodler.cpp | 11 |
LmiDoodler.h | 1 |
LmiGlobals.cpp | 1 |
LmiGlobals.h | 1 |
LmiMain.cpp | 3 |
LmiWindows.h | 1 |
ReadMe.txt | 7 |
Resource.h | 1 |