是否有可能檢測用戶監視器是否使用c#打開?檢測顯示器是否在c#
SP
我也發現了這個帖子是有益
http://www.netframeworkdev.com/net-base-class-library/msmonitorclass-2114.shtml
是否有可能檢測用戶監視器是否使用c#打開?檢測顯示器是否在c#
SP
我也發現了這個帖子是有益
http://www.netframeworkdev.com/net-base-class-library/msmonitorclass-2114.shtml
WMI可能會有所幫助。
在Vista +中,有WmiMonitorBasicDisplayParams類,其中「Active」屬性告訴您顯示器是否處於活動狀態。
下面是這對我的作品的例子:
using System.Management;
// ...
var query = "select * from WmiMonitorBasicDisplayParams";
using(var wmiSearcher = new ManagementObjectSearcher("\\root\\wmi", query))
{
var results = wmiSearcher.Get();
foreach (ManagementObject wmiObj in results)
{
// get the "Active" property and cast to a boolean, which should
// tell us if the display is active. I've interpreted this to mean "on"
var active = (Boolean)wmiObj["Active"];
}
}
我永遠不會被隱藏在WMI中的大量信息所驚歎。 – 2010-10-12 09:14:21
一些通過VGA線連接的舊顯示器通常是啞設備,因爲它們只報告「連接」和EDID信息。沒有電源狀態存在;新顯示器發生了什麼變化,所以他們可以告訴? – 2010-10-12 09:25:20
@mhambra - 一切? – codekaizen 2010-10-12 09:27:39
這不能做:有沒有辦法來檢查顯示器的電源。您可以檢查輔助監視器是否啓用:使用System.Windows.Forms.Screen.AllScreens
我不能相信有沒有方法檢查編程。我見過操作系統這樣做。爲什麼這是被投票決定的? – codekaizen 2010-10-12 09:16:27
所有活動的屬性不爲Windows是否使用顯示或不告訴你。即使關閉顯示器,DVI/HDMI也會報告連接。簡而言之,除了自制東西之外,沒有其他方法可以檢查 - 比如掛上光線傳感器或攝像頭並將其指向顯示器的電源燈:)
您的意思是使用正面的電源按鈕,關閉節電功能? – thecoop 2010-10-12 09:04:42
如果可能的話 – Steven 2010-10-12 09:39:48