我試圖檢測事件時,從.NET框架中HDMI電纜插入到我的筆記本電腦的HDMI端口。我知道有一個事件被觸發,因爲當電纜插入時,Windows會發出明顯的「新硬件」聲音,並將屏幕分辨率更改爲更適合的內容。在.NET中檢測HDMI電纜事件?
我已經厭倦了將手機的音頻設備更改爲HDMI輸出,所以想編寫一個小應用程序來爲我做。
我試圖檢測事件時,從.NET框架中HDMI電纜插入到我的筆記本電腦的HDMI端口。我知道有一個事件被觸發,因爲當電纜插入時,Windows會發出明顯的「新硬件」聲音,並將屏幕分辨率更改爲更適合的內容。在.NET中檢測HDMI電纜事件?
我已經厭倦了將手機的音頻設備更改爲HDMI輸出,所以想編寫一個小應用程序來爲我做。
這篇關於Code Project的文章提供了一個關於如何從.NET檢查硬件並監聽更改的良好洞察。
你試過WM_DEVICECHANGE?我沒有辦法自己測試它。
如果您使用的是Winforms,則可以覆蓋Control.WndProc
方法來處理框架未包裝的Windows消息。
我很驚訝這裏沒有人提到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...");
}
}
}