private static StringBuilder Zapis = new StringBuilder(string.Empty);
private static ManagementObjectSearcher GetMonitor = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_DesktopMonitor");
foreach (ManagementObject queryObj in GetMonitor.Get())
{
Zapis.AppendFormat("Разрешение экрана:" + string.Format(queryObj["ScreenWidth"] + "x" + queryObj["ScreenHeight"]));
}
После записи в файл появляется вот такая вот строка:
Разрешение экрана: x
Разрешение экрана: 1920x1080
Появляется лишняя строчка 1-ая - Разрешение экрана: x Как убрать эту строчку? }
У вас пустые queryObj["ScreenWidth"] и queryObj["ScreenHeight"], напишите что-то типа:
foreach (ManagementObject queryObj in GetMonitor.Get())
{
if(queryObj["ScreenWidth"] == null || queryObj["ScreenHeight"] == null)
continue;
Zapis.AppendFormat("Разрешение экрана:" + string.Format(queryObj["ScreenWidth"] + "x" + queryObj["ScreenHeight"]));
// var str = $"Разрешение экрана: {queryObj["ScreenWidth"]} x {queryObj["ScreenHeight"]}";
// str.Dump();
}
Поставьте точку остановки и пройдите по программе. Думаю значения ScreenWidth и ScreenHeight могут быть пустыми. Может есть какой-то виртуальный монитор.
И я бы использовал такую запись:
Zapis.AppendFormat("Разрешение экрана: {0} х {1}", var1, var2);
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости