Александр Климов - Программирование КПК и смартфонов на .NET Compact Framework

Здесь есть возможность читать онлайн «Александр Климов - Программирование КПК и смартфонов на .NET Compact Framework» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Санкт-Петербург, Год выпуска: 2007, ISBN: 2007, Издательство: Питер, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Программирование КПК и смартфонов на .NET Compact Framework: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Программирование КПК и смартфонов на .NET Compact Framework»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Мобильные устройства все активнее вторгаются в нашу жизнь. Карманные компьютеры и смартфоны давно утратили статус дорогих игрушек и перекочевали в разряд необходимых устройств. Значит, для них необходимо создавать программное обеспечение. Так почему вы должны оставаться в стороне?
Прочитав эту книгу, вы получите знания, которые позволят вам уверенно создавать программы для карманных компьютеров и смартфонов. А огромное количество разнообразных примеров поможет быстро совершенствоваться и развиваться, обогащая свой опыт работы.
Книга предназначена для начинающих программистов.

Программирование КПК и смартфонов на .NET Compact Framework — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Программирование КПК и смартфонов на .NET Compact Framework», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать
Листинг 13.18

private void butCheckKeyboard_Click(object sender, EventArgs e) {

uint check = 0;

Registry.GetDWORDValue(Registry.HKCU, "SOFTWARE\\Microsoft\\Shell",

"HasKeyboard", ref check);

lblInfo.Text = Convert.ToBoolean(check).ToString();

}

В этом примере используется функция-оболочка GetDWORDValueиз класса Registry. Если же вы предпочитаете обходиться без функций-оболочек, а обращаться напрямую к функциям API, то пример можно переписать так, как показано в листинге 13.19.

Листинг 13.19

private static bool IsKeyboard() {

uint dwordResult;

UIntPtr hkey = UIntPtr.Zero;

try {

int result =

Registry.RegOpenKeyEx(Registry.HKCU, "SOFTWARE\\Microsoft\\Shell", 0,

Registry.KeyAccess.None, ref hkey);

if (Registry.ERROR_SUCCESS != result) return false;

byte[] bytes = null;

uint length = 0;

Registry.KeyType keyType = Registry.KeyType.None;

result =

Registry.RegQueryValueEx(hkey, "HasKeyboard", IntPtr.Zero, ref keyType,

null, ref length);

if (Registry.ERROR_SUCCESS != result) return false;

bytes = new byte[Marshal.SizeOf(typeof(uint))];

length = (uint)bytes.Length;

keyType = Registry.KeyType.None;

result =

Registry.RegQueryValueEx(hkey, "HasKeyboard", IntPtr.Zero, ref keyType,

bytes, ref length);

if (Registry.ERROR_SUCCESS != result) return false;

dwordResult = BitConverter.ToUInt32(bytes, 0);

return (dwordResult == 1);

} finally {

if (UIntPtr.Zero != hkey) {

Registry.RegCloseKey(hkey);

}

}

}

Теперь эту функцию можно вызвать в любом месте программы, как показано в листинге 13.20.

Листинг 13.20

// Определяем наличие внешней клавиатуры

lblInfo.Text = IsKeyboard().ToString();

ВНИМАНИЕ

Следует, отметить, что при проверке примера на эмуляторе функция обнаруживает присутствие клавиатуры. Что, в общем-то, справедливо, так как с помощью обычной клавиатуры пользователь может вводить данные в программах, запущенных на эмуляторе.

Информация о пользователе

Также с помощью реестра можно узнать информацию о пользователе устройства. За эту информацию отвечает параметр Ownerв разделе HKEY_CURRENT_USER\ControlPanel\Owner. В листинге 13.21 приведен код, который получает эту информацию.

Листинг 13.21

private void butOwner_Click(object sender, EventArgs e) {

string strOwner = "";

Registry.GetStringValue(Registry.HKCU, "\\ControlPanel\\Owner", "Owner",

ref strOwner);

lblInfo.Text = strOwner;

}

Наличие дополнительной клавиатуры

Узнать о наличии в системе подключаемой клавиатуры можно с помощью функции API или просмотрев значение соответствующего ключа в реестре. Использование реестра рассматривалось несколько раньше. В листинге 13.22 приведен код, который показывает, как можно узнать о присутствии подключенной клавиатуры с помощью функции API GetKeyboardStatus.

Листинг 13.22

///



/// Функция возвращает статус подключаемой клавиатуры и ее

/// возможности.

///

/// Функция возвращает битовую маску,

/// показывающую присутствие клавиатуры и ее возможности

///

[DllImport("coredll.dll")]

public static extern uint GetKeyboardStatus();

///



/// Показывает присутствие клавиатуры в системе

///

public const uint KBDI_KEYBOARD_PRESENT = 0x0001;

///



/// Показывает доступность клавиатуры.

/// Данный бит может быть изменен функцией

/// EnableHardwareKeyboard

///

public const uint KBDI_KEYBOARD_ENABLED = 0x0002;

///



/// Показывает наличие на клавиатуре клавиш ENTER и ESC

///

public const uint KBDI_KEYBOARD_ENTER_ESC = 0x0004;

///



/// Показывает наличие клавиш с буквами и цифрами

///

public const uint KBDI_KEYBOARD_ALPHA_NUM = 0x0008;

private void Form1_Load(object sender, EventArgs e) {

MessageBox.Show("Наличие и доступность клавиатуры: " +

IsKeyboard().ToString());

}

private static bool IsKeyboard() {

uint flags = KBDI_KEYBOARD_ENABLED | KBDI_KEYBOARD_PRESENT;

return ((GetKeyboardStatus() & flags) == flags);

}

Виброзвонок

Как правило, практически все современные модели мобильных телефонов и смартфонов поддерживают функцию виброзвонка. Следовательно, должны существовать функции для его включения и выключения. Для использования виброзвонка на смартфоне применяются функции Vibrate, VibrateStopи VibrateGetDeviceCaps.

При помощи этих функций разработчик может использовать возможности виброзвонка в своих приложениях. Соответствующий код приведен в листинге 13.23.

Листинг 13.23

///



/// Включает виброзвонок

///

/// S_OK сообщает об успешном вызове функции. В случае

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Программирование КПК и смартфонов на .NET Compact Framework»

Представляем Вашему вниманию похожие книги на «Программирование КПК и смартфонов на .NET Compact Framework» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Гайдар Магдануров - ASP.NET MVC Framework
Гайдар Магдануров
libcat.ru: книга без обложки
Александр Климов
libcat.ru: книга без обложки
Александр Климов
libcat.ru: книга без обложки
Александр Климов
Александр Климов - Реестр Windows 7
Александр Климов
libcat.ru: книга без обложки
Александр Климов
libcat.ru: книга без обложки
Александр Климов
libcat.ru: книга без обложки
Александр Климов
Александр Климов - Гадания
Александр Климов
Отзывы о книге «Программирование КПК и смартфонов на .NET Compact Framework»

Обсуждение, отзывы о книге «Программирование КПК и смартфонов на .NET Compact Framework» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x