Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

168
Views
if() + switch() + cuadro de imagen [C#]

Aquí está la cosa, tengo un formulario de Windows con un cuadro de imagen vacío y algunas etiquetas que obtienen información del sistema usando wmi, se supone que el cuadro de imagen obtiene automáticamente el logotipo del sistema operativo de una carpeta en el proyecto llamado Imágenes usando un si una declaración o un caso de cambio, pero no puedo por mi vida encontrar algo que funcione.

La idea básica es:

si OSN contiene un 7, pictureBoxOS obtiene la imagen llamada W7 de la carpeta de imágenes.

si OSN contiene un 8, pictureBoxOS obtiene la imagen llamada W8 de la carpeta de imágenes y así sucesivamente

OSN es el nombre del sistema operativo

Lo que sigue es algo de lo que está escrito en la clase SysInfo

 public static class SysInfo { public static String GetOSName() { ManagementClass mc = new ManagementClass("Win32_OperatingSystem"); ManagementObjectCollection moc = mc.GetInstances(); String OSN = String.Empty; foreach (ManagementObject mo in moc) { OSN = mo.Properties["Caption"].Value.ToString(); break; } return OSN; }

Luego viene lo que está escrito en el formulario

 public partial class FormSystemInfo : Form { public FormSystemInfo() { InitializeComponent(); LoadTheme(); } private void FormSystemInfo_Load(object sender, EventArgs e) { labelOSName.Text=SysInfo.GetOSName(); labelOSVersion.Text=SysInfo.GetOSVersion(); labelBrandModel.Text=SysInfo.GetBrandModel(); labelProcessorName.Text=SysInfo.GetProcessorName(); labelMemory.Text=SysInfo.GetPhysicalMemory(); labelDriveID.Text=SysInfo.GetDriveID(); labelGPUName.Text=SysInfo.GetGPUName(); labelSerialNumber.Text = SysInfo.GetSerialNumber(); } }
over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Para cualquiera que pueda tropezar con esta publicación, encontré una manera de hacer que funcione:

 DirectoryInfo dir = new DirectoryInfo(Application.StartupPath); ManagementClass mc = new ManagementClass("Win32_OperatingSystem"); ManagementObjectCollection moc = mc.GetInstances(); String OSN = String.Empty; foreach (ManagementObject mo in moc) { OSN = mo.Properties["Caption"].Value.ToString(); break; } if (OSN.Contains("7")) { string path = dir.Parent.Parent.Parent.FullName + @"\Pictures\W7.png"; pictureBoxOS.Image = Image.FromFile(path); } else if (OSN.Contains("8")) { string path = dir.Parent.Parent.Parent.FullName + @"\Pictures\W8.png"; pictureBoxOS.Image = Image.FromFile(path); } else if (OSN.Contains("10")) { string path = dir.Parent.Parent.Parent.FullName + @"\Pictures\W10.png"; pictureBoxOS.Image = Image.FromFile(path); } else if (OSN.Contains("11")) { string path = dir.Parent.Parent.Parent.FullName + @"\Pictures\W11.png"; pictureBoxOS.Image = Image.FromFile(path); }
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!