Вход/Регистрация
Программирование КПК и смартфонов на .NET Compact Framework
вернуться

Климов Александр Петрович

Шрифт:
Листинг 13.1

using System;

using System.Collections.Generic;

using System.Text;

using System.Runtime.InteropServices;

namespace PlatformDetector_CS {

 class PlatformDetector {

[DllImport("coredll.dll")]

private static extern bool SystemParametersInfo(int uiAction, int uiParam,

StringBuilder pvParam, int fWinIni);

private static int SPI_GETPLATFORMTYPE = 257;

public static Platform GetPlatform {

Platform plat = Platform.Unknown;

switch (System.Environment.OSVersion.Platform) {

case PlatformID.Win32NT:

plat = Platform.Win32NT;

break;

case PlatformID.WinCE:

plat = CheckWinCEPlatform;

break;

}

return plat;

}

static Platform CheckWinCEPlatform {

Platform plat = Platform.WindowsCE;

StringBuilder strbuild = new StringBuilder(200);

SystemParametersInfо(SPI_GETPLATFORMTYPE, 200, strbuild, 0);

string str = strbuild.ToString;

switch (str) {

case "PocketPC":

plat = Platform.PocketPC;

break;

case "SmartPhone":

// Note that the strbuild parameter from the

// PInvoke returns "SmartPhone" with an

// upper case P. The correct casing is

// "Smartphone" with a lower case p.

plat = Platform.Smartphone;

break;

}

return plat;

}

 }

 public enum Platform {

PocketPC, WindowsCE, Smartphone, Win32NT, Unknown

 }

}

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace PlatformDetector_CS {

 public partial class Form1 : Form {

public Form1 {

InitializeComponent;

}

private void Form1_Load(object sender, EventArgs e) {

try {

MessageBox.Show("Платформа: " + PlatformDetector.GetPlatform);

} catch (Exception ex) {

MessageBox.Show(ex.Message.ToString);

}

}

 }

}

Особое внимание следует обратить на комментарий. Параметр

strbuild
после вызова функции возвращает значение
SmartPhone
с большой буквой «P», хотя более правильным вариантом считается слово с маленькой буквой «p».

Пароли

Как вы, вероятно, знаете, пользователь может установить пароль на свой карманный компьютер. Для этого ему нужно зайти в раздел

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

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

Листинг 13.2

// Функция для установления нового системного пароля

[DllImport("coredll.dll")]

private static extern bool SetPassword(string lpszOldpassword,

 string lspzNewPassword);

// Функция для активации или блокировки текущего пароля

  • Читать дальше
  • 1
  • ...
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: