Autor
|
Tema: Detecta disco en el elctor (Leído 4,165 veces)
|
Meta
|
Hola: Un programa que detecta el disco del lectro si está dentro o no. me lo muestra en forma de True o False. No logro que me lo muestre que me diga esto: Disco en el lector: Sí Me lo muestra en True. Ver imagen. ¿Qué se puede cambiar en este código? using System; using System.Management; namespace CPU_GPU_Hardware_informacion_consola_01 { class Program { static void Main(string[] args) { // Título de la ventana. Console.Title = "Título de la ventana."; // Tamaño de la ventana, x, y. Console.SetWindowSize(120, 63); // Color de fondo. Console.BackgroundColor = ConsoleColor.Gray; // Color de las letras. Console.ForegroundColor = ConsoleColor.Black; // Limpiar pantalla y dejarlo todo gris. Console.Clear(); // Visible el cursor. Console.CursorVisible = true; // Nombre del procesador. GetMyCPUInfo("Win32_Processor", "Name"); // CD ROM. GetMyCPUInfo("Win32_CDROMDrive", "Name"); Console.Write("Medio cargado: (Disco en el lector:) "); GetMyCPUInfo("Win32_CDROMDrive", "MediaLoaded"); Console.ForegroundColor = ConsoleColor.Blue; Console.WriteLine("FIN DEL PROGRAMA."); // Pulse cualquier tecla para salir. Console.ReadKey(); } private static void GetMyCPUInfo(string hwclass, string syntax) { ManagementObjectSearcher mos = new ManagementObjectSearcher ("root\\CIMV2", "SELECT * FROM " + hwclass ); foreach (ManagementObject mj in mos.Get()) { Console.WriteLine(Convert.ToString(mj[syntax])); } } } }
Cualquier información aquí. https://docs.microsoft.com/es-es/windows/win32/cimwin32prov/win32-cdromdriveSaludos.
|
|
« Última modificación: 19 Marzo 2021, 14:58 pm por Meta »
|
En línea
|
|
|
|
Meta
|
Buenas: Por ejemplo, en esta parte. GetMyCPUInfo("Win32_CDROMDrive", "MediaLoaded");
¿Hay disco en el lector? Como me da resultado de true o falso, quiero lograr de alguna manera que me muestre Sí o No. Quiero hacer algo de esto como indica abajo pero no sale. // ¿En el lector hay disco? // Sí. Hay disco. if (GetMyCPUInfo("Win32_CDROMDrive", "MediaLoaded") == true) { Console.WriteLine("Sí"); } // No. No hay disco. else { Console.WriteLine("No"); }
Buscando ideas. Gracias.
|
|
|
En línea
|
|
|
|
TickTack
Desconectado
Mensajes: 434
CipherX
|
Y que error te larga si lo tratas de hacer como en la última?
|
|
|
En línea
|
|
|
|
Meta
|
Y que error te larga si lo tratas de hacer como en la última?
Buenas: No seja hacer este if Else. // ¿En el lector hay disco? // Sí. Hay disco. if (GetMyCPUInfo("Win32_CDROMDrive", "MediaLoaded") == true) { Console.WriteLine("Sí"); } // No. No hay disco. else { Console.WriteLine("No"); }
Error CS0019 El operador '==' no se puede aplicar a operandos del tipo 'void' y 'bool'
|
|
|
En línea
|
|
|
|
Meta
|
Buenas: Empezando desde cero. Me sale a medias. using System; using System.Management; // No olvidar. Añadir en Referencia. namespace Detectar_disco_lector_consola_01 { class Program { // Variables. public static string datos = ""; static void Main(string[] args) { // Título de la ventana. Console.Title = "Detectar disco en el lector."; // Tamaño de la ventana, x, y. Console.SetWindowSize(60, 15); // Color de fondo. Console.BackgroundColor = ConsoleColor.Gray; // Color de las letras. Console.ForegroundColor = ConsoleColor.Black; // Limpiar pantalla y dejarlo todo en color de fondo. Console.Clear(); // Visible el cursor. Console.CursorVisible = true; // Nombre del dispositivo o lector. Console.Write("Nombre del dispositivo: "); ConsigueComponentes("Win32_CDROMDrive", "Name"); // Disco en la unidad del lector. Console.Write("Disco en el lector: "); ConsigueComponentes("Win32_CDROMDrive", "MediaLoaded"); // ¿Disco en el lector? if (datos == "True") { Console.WriteLine("Disco en el lector: Sí."); } else { Console.WriteLine("Disco en el lector: No."); } Console.Write("FIN DE PROGRAMA."); // Pulse cualquier tecla para salir. Console.ReadKey(); } private static void ConsigueComponentes(string hwclass, string syntax) { ManagementObjectSearcher mos = new ManagementObjectSearcher ("root\\CIMV2", "SELECT * FROM " + hwclass ); foreach (ManagementObject mj in mos.Get()) { if (Convert.ToString(mj[syntax]) != "") { Console.WriteLine(datos = Convert.ToString(mj[syntax])); } } } } }
Necesito pulir muchas cosas. Que me detecte el disco en Sí o No. El programa se puede mejorar, ya que me responde cuando solo aparece un True o False, pero puede ser cualquier dispositivo. Saludos.
|
|
« Última modificación: 21 Marzo 2021, 01:10 am por Meta »
|
En línea
|
|
|
|
Meta
|
Hola: Parace ser que por fin me funciona. using System; using System.Management; // No olvidar. Añadir en Referencia. namespace Detectar_disco_lector_consola_01 { class Program { // Variables. public static string datos = ""; static void Main(string[] args) { ConsigueComponentes("Win32_CDROMDrive", "MediaLoaded"); // ¿Disco en el lector? if (datos == "True") { Console.WriteLine("Disco en el lector: Sí."); } else { Console.WriteLine("Disco en el lector: No."); } // Pulse cualquier tecla para salir. Console.ReadKey(); } private static void ConsigueComponentes(string hwclass, string syntax) { ManagementObjectSearcher mos = new ManagementObjectSearcher ("root\\CIMV2", "SELECT * FROM " + hwclass ); foreach (ManagementObject mj in mos.Get()) { if (Convert.ToString(mj[syntax]) != "") { datos = Convert.ToString(mj[syntax]); } } } } }
No se si es la mejor forma adecuada para hacer lo que quiero. Porque solo pide que sea true o false y puede ser cualquier otro dispositivo que haga lo mismo. Ahora me toca implementarlo con Windows Form. Ver imagen. Saludos.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
No me detecta disco duro USB
Hardware
|
novalida
|
3
|
6,311
|
20 Mayo 2010, 23:50 pm
por Aprendiz-Oscuro
|
|
|
No detecta disco duro
« 1 2 3 4 »
Windows
|
ANTRUCK
|
38
|
26,008
|
3 Enero 2011, 07:38 am
por ANTRUCK
|
|
|
Pc no detecta el disco duro
« 1 2 »
Hardware
|
Lain0x
|
13
|
6,188
|
1 Noviembre 2015, 01:34 am
por Lain0x
|
|
|
No me detecta el disco duro.
Hardware
|
Luffy97
|
1
|
1,806
|
12 Marzo 2016, 14:55 pm
por Songoku
|
|
|
No detecta S.O. en disco M.2
Hardware
|
vvalencia
|
2
|
4,057
|
1 Julio 2016, 17:47 pm
por vvalencia
|
|