在 windows 应用程序中获取 HDMI 连接的事件处理程序

EventHandler to get HDMI connectivity in windows application

我正在寻找事件处理程序,以便在使用 c#/WPF 连接或断开 HDMI 时获取信息,例如如何使用 myNetworkAvailabilityChangeHandler 检测互联网何时断开或连接。

对此没有直接答案,但您可以使用 SystemEvents 来实现。

C# 代码:

main()
{
SystemEvents.DisplaySettingsChanged += new 
EventHandler(SystemEvents_DisplaySettingsChanged); 
}       
private void SystemEvents_DisplaySettingsChanged(object sender, EventArgs e)
    {
        int HDMI_Monitors = 0;
        ManagementClass mClass = new ManagementClass(@"\localhost\ROOT\WMI:WmiMonitorConnectionParams");
        foreach (ManagementObject mObject in mClass.GetInstances())
        {
            var ss = mObject["VideoOutputTechnology"];
            if(ss.ToString().StartsWith("5"))
            {
                int HDMIport = Convert.ToInt32(ss);
                if (HDMIport == 5)
                {
                    HDMI_Monitors += 1;
                }
            }
         }
    }

您可以使用模型class来持续更新HDMI状态。 因此,每次您的 HDMI 连接或断开时,SystemEvents_DisplaySettingsChanged 都会触发,然后它会检查 HDMI 连接。