Обнаружение события кабеля HDMI в .NET? - PullRequest
2 голосов
/ 02 мая 2011

Я пытаюсь определить событие, когда кабель HDMI подключен к порту HDMI моего ноутбука из среды .NET. Я знаю, что происходит событие, потому что когда кабель подключен, Windows издает очевидный звук «нового оборудования» и меняет разрешение экрана на более подходящее.

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

Ответы [ 3 ]

3 голосов
/ 02 мая 2011

эта статья о Code Project дает хорошее представление о том, как проверить ваше оборудование в .NET и прослушать изменения.

2 голосов
/ 17 сентября 2015

Я очень удивлен, что никто здесь не упомянул о событиях DisplaySettingsChanging или DisplaySettingsChanged.Когда вы подключаете или отключаете кабель HDMI, o / s обнаружит его и перенастроит экраны.Вы можете перехватить эти события.

Примером кода может быть:

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)        
        {

            Microsoft.Win32.SystemEvents.DisplaySettingsChanged += SystemEvents_DisplaySettingsChanged;

            Microsoft.Win32.SystemEvents.DisplaySettingsChanging += SystemEvents_DisplaySettingsChanging;

            Console.Read();
        }

        static void SystemEvents_DisplaySettingsChanged(object sender, EventArgs e)
        {
            Console.WriteLine("Display settings have been changed.");
        }

        static void SystemEvents_DisplaySettingsChanging(object sender, EventArgs e)
        {
            Console.WriteLine("Display settings are changing now...");
        }

    }
}
2 голосов
/ 02 мая 2011

Вы пробовали WM_DEVICECHANGE ? У меня нет возможности проверить это самостоятельно.

Если вы используете Winforms, вы можете переопределить метод Control.WndProc для работы с сообщениями Windows, которые не переносятся фреймворком.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...