Получение имени моего экрана в c #

2

Я знаю класс Screen, но при попытке использовать Screen.AllScreens [0] я получаю что-то вроде. \Device1. Вместо этого я хотел бы получить свое имя на экране, что-то вроде HP 24. Как это можно сделать? Благодаря

Теги:

4 ответа

5
Лучший ответ

Я думаю, что вы хотите класс Win32_DesktopMonitor из пространства имен System.Management. Я не уверен в том, какое свойство вы хотите, но попробуйте что-то подобное, чтобы узнать, что вы получаете:

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());
    }
}

Вы можете фильтровать по определенному идентификатору устройства, если хотите, с простым предложением WHERE DeviceID = 'колбасы' в SQL. Хотя, возможно, с меньшей колбасой.

0

Вы пробовали свойство DeviceName? Я думаю, что я бы сделал Screen.getPrimaryScreen(). DeviceName

http://msdn.microsoft.com/en-us/library/system.windows.forms.screen.devicename.aspx

  • 0
    Это Screen.PrimaryScreen.DeviceName (по крайней мере, в 3.5). Однако он также просто вернет ". \ Device1".
  • 0
    Это то, что я использую, и это не возвращает желаемых результатов :(
Показать ещё 1 комментарий
0

Думаю, вам может понадобиться использовать WMI для этого. Вот ссылка qaru.site/questions/1701909/.... В основном вы идете за чем-то вроде Win32_DesktopMonitor.

-2

У вас может быть "TrueFlat Display" HP 24 "или что-то еще, но, что касается окон, он почти наверняка упоминается только как" Монитор Plug and Play "и что он.

  • 0
    Сама Windows распознает истинные имена экранов во всех других местах, она должна сама знать имена rael.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню