Выключение устройства

Выключение устройства

На карманных компьютерах также есть кнопка выключения устройства. На самом деле при нажатии на эту кнопку устройство не выключается, а переходит в особый спящий режим. В мобильных устройствах программы и данные хранятся в памяти, и если устройство действительно выключить, то все приложения и данные просто пропадут. Разработчик может программно перевести устройство в спящий режим, имитируя нажатие этой кнопки выключения с помощью функции API keybd_event, как показано в листинге 5.4.

Листинг 5.4

/// <summary>

/// Функция имитирует нажатия клавиш на клавиатуре

/// </summary>

/// <param name="bVk">Виртуальный код клавиши для имитации

/// нажатия и отпускания клавиши</param>

/// <param name="bScan">Зарезервировано - установлено в

// 0</param>

/// <param name="dwFlags">Флаг</param>

/// <param name="dwExtraInfo">Дополнительная информация</param>

[DllImport("coredll.dll", CharSet = CharSet.Unicode)]

public static extern void

keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo);

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

public const int VK_OEM_8 = 0xDF;

private void butOff_Click(object sender, EventArgs e) {

 // Имитируем нажатие кнопку выключения устройства

 keybd_event(VK_OEM_8, 0, 0, 0);

}