EventHandler在Windows应用程序中获得HDMI连接

发布于 2025-01-28 01:43:06 字数 104 浏览 2 评论 0原文

我正在寻找事件处理程序,以获取HDMI使用C#/WPF连接的HDMI,例如MyNetworkavailabilityChangeHangeHandler的使用方式,用于检测何时互联网断开或连接。

I am looking for event handler to get the information when HDMI is connected or disconnected using c#/WPF like how myNetworkAvailabilityChangeHandler is used to detect when internet gots disconnected or connected.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

没有直接的答案,但是您可以使用 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;
                }
            }
         }
    }

您可以使用模型类继续更新HDMI状态。
因此,每次您的HDMI都会连接或断开 SystemEvents_displaysettingsChanged 都会触发,然后检查HDMI连接。

There is no direct answer to this but you can use the SystemEvents to achieve this.

Code in 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;
                }
            }
         }
    }

You can use the model class to keep on updating the HDMI status.
So every time your HDMI will connect or disconnect SystemEvents_DisplaySettingsChanged will trigger and then it will check the HDMI connection.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文