モニターがC#にあるかどうかを検出する

c#
モニターがC#にあるかどうかを検出する

ユーザーモニターがC#を使用してオンになっているかどうかを検出することは可能ですか?

Sp

また、この投稿を発見しました。

  14  3


ベストアンサー

WMIが役立つ場合があります。

Vista +には、http://msdn.microsoft.com/en-us/library/aa394535(v = VS.85).aspx [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"];
    }
}

18


Activeプロパティは、Windowsがディスプレイを使用しているかどうかを示します。 また、DVI / HDMIは、ディスプレイがオフになっていても接続を報告します。 つまり、光センサーやウェブカメラをつないでモニターの電源ライトに向けるなど、自家製のもの以外をチェックする方法はありません:)

4


これは実行できません。モニターの電源が入っているかどうかを確認する方法はありません。 セカンダリモニターが有効になっているかどうかを確認できます: `System.Windows.Forms.Screen.AllScreens`を使用します

-4


タイトルとURLをコピーしました