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

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

Шрифт:

/// <summary>

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

/// </summary>

public const uint KBDI_KEYBOARD_ENTER_ESC = 0x0004;

/// <summary>

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

/// </summary>

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

/// <summary>

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

/// </summary>

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

/// ошибки возвращается E_FAIL

///</returns>

[DllImport("aygshell")]

private static extern int Vibrate(int cvn, IntPtr rgvn, uint fRepeat,

 uint dwTimeout);

/// <summary>

/// Останавливает виброзвонок

/// </summary>

/// <returns>S_OK сообщает об остановке виброзвонка. В случае

/// ошибки возвращается EFAIL

/// </returns>

[DllImport("aygshell")]

private static extern int VibrateStop;

/// <summary>

/// Получает сведения о возможности использования виброзвонка

/// </summary>

/// <param name="caps">Перечисление VIBRATEDEVICECAPS,

/// определяющее возможности воспроизведения виброзвонка

/// устройством.

///</param>

[DllImport("aygshell")]

private static extern int VibrateGetDeviceCaps(VibrationCapabilities caps);

/// <summary>

/// Используется функцией VibrateGetDeviceCaps для определения

/// возможности воспроизведения виброзвонка.

/// </summary>

public enum VibrationCapabilities : int {

 VDC_Amplitude,

 VDC_Frequency,

}

private void mnuStopVibrate_Click(object sender, EventArgs e) {

 StopVibrate;

}

private void mnuVibrate_Click(object sender, EventArgs e) {

 StartVibrate;

}

/// <summary>

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

/// </summary>

/// <returns>В успешном случае возвращается TRUE, в случае

/// ошибки - FALSE.</returns>

public static bool StartVibrate {

 int result = Vibrate(0, IntPtr.Zero, 0xffffffff, 0xffffffff);

 if (result != 0) {

return false;

 }

 return true;

}

/// <summary>

/// Останавливаем виброзвонок

/// </summary>

/// <returns>В успешном случае возвращается TRUE, в случае

/// ошибки - FALSE.</returns>

  • Читать дальше
  • 1
  • ...
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110

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

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

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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