Определить разрешение дисплея сервера - PullRequest
0 голосов
/ 16 марта 2011

На Windows Server 2008 я могу иметь веб-сервис или что-то, что я могу запросить из приложения C # относительно свойств экрана (разрешение (высота и ширина)). Приложение C # не запускается на сервере, поэтому я не могу просто обнаружить его из самого приложения.

Дополнение, чтобы помочь объяснить, почему:

У меня будет пользователь с именем «display», который будет регистрироваться при отображении веб-сайта (на сервере), и я хочу иметь возможность проверять отображение из настольного приложения, чтобы пользователь знал, какое разрешение для разработки шаблона за. Разрешение будет изменяться на разных дисплеях, поэтому оно не может быть заданным значением.

Ответы [ 2 ]

1 голос
/ 16 марта 2011

Я бы порекомендовал просто запросить сервер с помощью WMI.Проверьте третий пример здесь:

http://msdn.microsoft.com/en-us/library/aa394591%28v=vs.85%29.aspx

0 голосов
/ 24 марта 2011

Мой код

Это код, который я использовал для решения проблемы:

System.Management.ConnectionOptions oConnectionOptions = new System.Management.ConnectionOptions();
{
    oConnectionOptions.Username = ServerManagement.GetServerUser();
    oConnectionOptions.Password = ServerManagement.GetServerPassword();
}
ManagementPath oPath = new ManagementPath("\\\\" + ServerManagement.GetServerAddress() + "\\root\\cimv2");
ManagementScope oScope = new ManagementScope(oPath, oConnectionOptions);
try
{
    oScope.Connect();
    ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_DesktopMonitor");
    ManagementObjectCollection obj = searcher.Get();
    foreach (ManagementObject service in obj)
    {
        this.DisplayHeight = Convert.ToInt16(service["ScreenHeight"]);
        this.DisplayWidth = Convert.ToInt16(service["ScreenWidth"]);
    }
}
catch (Exception)
{
    MessageBox.Show("Cannot connect to server, please try again later.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
}
...