Завершение работы устройства Windows Mobile из приложения Smart device

#c# #visual-studio-2008 #windows-mobile-6

#c# #visual-studio-2008 #windows-mobile-6

Вопрос:

Я возвращаю приведенный ниже код, но он не работает для завершения работы. перезапуск работает нормально для меня.

 [DllImport("Aygshell.dll")]
internal static extern bool ExitWindowsEx(uint uFlags, int dwReason);


private void btnLogout_Click(object sender, EventArgs e)
{      
     ExitWindowsEx(2, 0); // restart
     ExitWindowsEx(1, 0); // shutdown not working  
}
  

Ответ №1:

Обычно я бы вызвал SetSystemPowerState с помощью Power_Off . (http://msdn.microsoft.com/en-us/library/aa929251.aspx ). Или вызовите POWER_STATE_CRITICAL (что может привести к полному завершению работы). (http://msdn.microsoft.com/en-us/library/ms920754.aspx )

В качестве альтернативы вы также можете использовать keybd_event с VK_OFF .

Обе функции могут не завершать работу устройства принудительно, это зависит от реализации PowerManagement OEM.