在c#中获取我的屏幕名称

dev*_*ium 2 .net c# vb.net

我知道Screen类,但是当我尝试使用Screen.AllScreens [0]时,我会得到像.\ Device1这样的东西.相反,我想拥有我的屏幕名称,比如HP 24'.怎么办?谢谢

Xia*_*ofu 5

我想你想要System.Management命名空间中的Win32_DesktopMonitor类.我不确定你想要哪个属性,但尝试这样的东西看看你得到了什么:

SelectQuery q = new SelectQuery("SELECT Name, DeviceID, Description FROM Win32_DesktopMonitor");
using(ManagementObjectSearcher mos = new ManagementObjectSearcher(q))
{
    foreach(ManagementObject mo in mos.Get())
    {
        Console.WriteLine("{0}, {1}, {2}",
            mo.Properties["Name"].Value.ToString(),
            mo.Properties["DeviceID"].Value.ToString(),
            mo.Properties["Description"].Value.ToString());
    }
}
Run Code Online (Sandbox Code Playgroud)

如果您希望在SQL中使用简单的"WHERE DeviceID ='sausages'"子句,则可以按特定的DeviceID进行过滤.虽然可能用较少的香肠.