在Windows Server 2008上我可以使用Web服务或者我可以从C#应用程序查询显示属性(分辨率(高度和宽度))。 C#应用程序无法在服务器上运行,因此我无法从应用程序本身检测到它。
除了帮助解释原因外:
我将有一个名为“display”的用户,将在显示网站(在服务器上)登录,我希望能够从桌面应用程序检查显示,以便用户知道设计模板的分辨率对于。分辨率将从不同的显示改变,因此它不能是设定值。
答案 0 :(得分:1)
我建议只使用WMI查询服务器。检查第三个例子:
http://msdn.microsoft.com/en-us/library/aa394591%28v=vs.85%29.aspx
答案 1 :(得分:0)
我的代码
这是我用来解决问题的代码:
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);
}