Книга: Программирование КПК и смартфонов на .NET Compact Framework

Пароли

Пароли

Как вы, вероятно, знаете, пользователь может установить пароль на свой карманный компьютер. Для этого ему нужно зайти в раздел Password при помощи последовательности команд Start?Settings?Password и указать четырехсимвольный пароль. С помощью четырех функций API можно получить сведения о пароле и даже попытаться угадать его!

Для тестирования этой возможности на форме надо разместить четыре кнопки и текстовое поле. Соответствующий код приведен в листинге 13.2.

Листинг 13.2

// Функция для установления нового системного пароля
[DllImport("coredll.dll")]
private static extern bool SetPassword(string lpszOldpassword,
 string lspzNewPassword);
// Функция для активации или блокировки текущего пароля
[DllImport("coredll.dll")]
private static extern bool SetPasswordActive(bool bActive,
 string lpszPassword);
// Функция для определения текущего состояния пароля
[DllImport("coredll.dll")]
private static extern bool GetPasswordActive();
// Функция для проверки пароля [DllImport("coredll.dll")]
private static extern bool CheckPassword(string lpszPassword);
private void butCheckPass_Click(object sender, EventArgs e) {
 txtInfo.Text ="Активность пароля: " + GetPasswordActive().ToString();
}
private void butNewPass_Click(object sender, EventArgs e) {
 MessageBox.Show("Установка нового пароля " +
 SetPassword("Активность пароля: False", txtInfо.Text).ToString());
}
private void butSetState_Click(object sender, EventArgs e) {
 MessageBox.Show("Отключение пароля: " +
 SetPasswordActive(false, txtInfo.Text).ToString());
}
private void butFindPass_Click(object sender, EventArgs e) {
 MessageBox.Show("Угадали пароль? " + CheckPassword(txtInfo.Text).ToString());
}

ВНИМАНИЕ

Будьте осторожны с данными функциями на реальном устройстве. Если вы случайно установите новый пароль, не запомнив его, то вам придется применить жесткую перезагрузку с потерей всех данных!

Оглавление книги


Генерация: 0.101. Запросов К БД/Cache: 0 / 2
поделиться
Вверх Вниз