4L4K1 Ответов: 1

Обнаружение питания, сна, пробуждения , клавиш клавиатуры


я хочу обнаружить питание,сон,пробуждение , клавиши клавиатуры всякий раз, когда они нажимаются
я использовал этот класс keyboardlistener
но он обнаруживает все ключи, кроме тех, которые я хочу!
я хочу написать программу, которая обнаружит эти 3 клавиши и сделает громкость вверх/вниз и отключит/включит звук
на моей клавиатуре нет клавиш для регулировки громкости

Что я уже пробовал:

я использовал какой-то глобальный крючок клавиатуры, который я нашел в интернете, но ни один из них не обнаруживает эти клавиши, так как windows обнаруживает их, чтобы выключить компьютер!

1 Ответов

Рейтинг:
2

Sandeep Mewara

Вам нужно будет отслеживать такие события, как:
Системные события.Событие PowerModeChanged (Microsoft.Win32) | Microsoft Docs[^]
Системные события.Событие SessionEnding (Microsoft.Win32) | Microsoft Docs[^]

Пример:

private static int WM_QUERYENDSESSION = 0x11;
private static bool systemShutdown = false;
protected override void WndProc(ref System.Windows.Forms.Message m)
{
    if (m.Msg==WM_QUERYENDSESSION)
    {
        MessageBox.Show("queryendsession: this is a logoff, shutdown, or reboot");
        systemShutdown = true;
    }

    // If this is WM_QUERYENDSESSION, the closing event should be
    // raised in the base WndProc.
    base.WndProc(ref m);

} //WndProc 

private void Form1_Closing(
    System.Object sender, 
    System.ComponentModel.CancelEventArgs e)
{
    if (systemShutdown)
        // Reset the variable because the user might cancel the 
        // shutdown.
    {
        systemShutdown = false;
        if (DialogResult.Yes==MessageBox.Show("My application", 
            "Do you want to save your work before logging off?", 
            MessageBoxButtons.YesNo))
        {
            e.Cancel = true;
        }
        else
        {
            e.Cancel = false;
        }
    }
}


BillWoodruff

+5

Sandeep Mewara

Спасибо!

4L4K1

большое вам спасибо +5
когда я ставлю shutdown to do nothing в настройках питания в win 10 я не могу обнаружить это событие
я хочу написать программу, которая обнаружит эти 3 клавиши и сделает громкость вверх/вниз и отключит/включит звук
на моей клавиатуре нет клавиш для регулировки громкости