elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


  Mostrar Mensajes
Páginas: 1 ... 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 [21] 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 ... 255
201  Programación / .NET (C#, VB.NET, ASP) / ¿Cómo listar solo unidades DVD y ver su información? en: 28 Marzo 2021, 12:12 pm
Quiero hacer un programa en consola C#, en el cual me muestre cuantas hay y su información. Solo quiero que me muestre unidades de discos DVD, aunque sean SATA, IDE o por USB.

Por ejemplo:
Citar
Unidad F:
     Etiqueta de volumen : 58 Fotos 2020 Tamaño total de la unidad: 4,26 GB.

Unidad G:
     Etiqueta de volumen : Visual Tamaño total de la unidad: 3,09 GB.

Quiero hacerlo así y ya está. El ejemplo que he visto te cuenta todas las unidades como indica abajo y no me interesa.
Código
  1. using System;
  2. using System.IO;
  3.  
  4. namespace Informacion_lector_Consola_01
  5. {
  6.    class Program
  7.    {
  8.        static void Main(string[] args)
  9.        {
  10.            #region Configuración ventana.
  11.            // Título de la ventana.
  12.            Console.Title = "Información lector.";
  13.  
  14.            // Tamaño de la ventana, x, y.
  15.            Console.SetWindowSize(80, 35);
  16.  
  17.            // Color de fondo.
  18.            Console.BackgroundColor = ConsoleColor.White;
  19.  
  20.            // Color de las letras.
  21.            Console.ForegroundColor = ConsoleColor.Black;
  22.  
  23.            // Limpiar pantalla y dejarlo todo en color de fondo.
  24.            Console.Clear();
  25.  
  26.            // Visible el cursor.
  27.            Console.CursorVisible = true;
  28.            #endregion
  29.  
  30.            DriveInfo[] allDrives = DriveInfo.GetDrives();
  31.  
  32.            foreach (DriveInfo d in allDrives)
  33.            {
  34.                Console.WriteLine("Unidad {0}", d.Name);
  35.                Console.WriteLine("  Tipo de unidad:                 {0}", d.DriveType);
  36.                if (d.IsReady == true)
  37.                {
  38.                    Console.WriteLine("  Etiqueta de volumen :       {0}", d.VolumeLabel);
  39.                    Console.WriteLine("  Sistema de archivo:         {0}", d.DriveFormat);
  40.                    Console.WriteLine(
  41.                        "  Espacio disponible para el usuario actual:{0, 15} bytes",
  42.                        d.AvailableFreeSpace);
  43.  
  44.                    Console.WriteLine(
  45.                        "  Espacio total disponible:                 {0, 15} bytes",
  46.                        d.TotalFreeSpace);
  47.  
  48.                    Console.WriteLine(
  49.                        "  Tamaño total de la unidad:                {0, 15} bytes ",
  50.                        d.TotalSize);
  51.                }
  52.            }
  53.  
  54.            // Pulse cualquier tecla para continuar.
  55.            Console.ReadKey();
  56.        }
  57.    }
  58. }

¿Alguna idea?

Saludos.
202  Informática / Hardware / Controlar DVD en: 28 Marzo 2021, 01:02 am
Buenas:

1) ¿Es posible controlar el encendido y apagado del Led que viene en el lector de un DVD como este de abajo?



2) Windows sabe cuando hay un disco en la lectora o no. ¿Windows sabe cuando el lector está abierto o cerrado?

Saludos.
203  Informática / Hardware / Re: PC no enciende mediante botón ni puente en: 28 Marzo 2021, 00:25 am
204  Programación / Scripting / No me deja enviar mensaje en: 26 Marzo 2021, 22:21 pm
Hola:

Este Script se trata de que quiero enviar por ejemplo la letra B, o esto otro como X72. Si envío un comando o mensaje llamado B. Me tiene que llegar una respuesta. No hace nada.

Los datos son enviados al puerto serie.

Este es el código.
Código:
# Para comprobar los puertos series disponibles en el sistema:
[System.IO.Ports.SerialPort]::getportnames()
 
# O bien de una manera más exhaustiva:
Get-WMIObject Win32_SerialPort
 
# Establecer los parámetros básicos de conexión. Una tipica conexión 9600 bps, 8N1 sin control de flujo sería la siguiente:
$puertoCOM = "COM1"  # El puerto serie que se quiere emplear
$bps = 2400 # La tasa de baudios por segundo del puerto. Típicos valores entre 1200 (o incluso menos) y 115200 (o incluso más)
$paridad = [System.IO.Ports.Parity]::None # Paridad de datos. Puede ser Even (par), Odd (impar) o None (sin paridad) 
$dataBits = 8 # Bits de datos. Puede ser 7 u 8
$stopBits = [System.IO.Ports.StopBits]::one # Bits de parada. Puede ser one (1), onepointfive (1.5) o two (dos)
$puerto = New-Object System.IO.Ports.SerialPort $puertoCOM,$bps,$paridad,$dataBits,$stopBits   # Crea la nueva instancia
 
# Se pueden establecer otros parámetros, como la activación del control del flujo por RTS/CTS , DTR/DSR, Handshake, fijar el tamaño de los buffers de lectura y escritura o establecer los timeouts de lectura. Todos estos parámetros, así como el estado general del resto, se pueden consultar llamando al objeto:
$puerto
$puerto.ReadTimeout = 500   # Establece un timeout de lectura de 500 mseg
$puerto.WriteTimeout = 500 # Establece un timeout de escritura de 250 mseg
 
# Abre el puerto
$puerto.Open()
 
# Lectura del puerto
$mensaje=$puerto.ReadLine()
 
# Escritura del puerto
$mensaje="B"
$puerto.WriteLine($mensaje)
 
# Cierra el puerto
$puerto.Close()

Quiero saber que es lo que ocurre.

Gracias.
205  Programación / .NET (C#, VB.NET, ASP) / Añadir elementos al comboBox en: 25 Marzo 2021, 22:05 pm
Buenas:

Estoy todo el rato intentando que me lea todos los lectores que tenga en un Pc o ordenador sea IDE, SATA o un lector externo por USB de discos, DVD en este caso.

Mirando aquí he encontrado esto.
https://docs.microsoft.com/es-es/windows/win32/cimwin32prov/win32-cdromdrive

Quiero que me detecte las unidades y lo muestre en un comboBox.

Creo una función.
Código
  1.        private static void GetMyCPUInfo(string hwclass, string syntax)
  2.        {
  3.            ManagementObjectSearcher mos = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM " + hwclass);
  4.            foreach (ManagementObject mj in mos.Get())
  5.            {
  6.                Console.WriteLine(Convert.ToString(mj[syntax]));
  7.            }
  8.        }

Con esto llamo una unidad.
Código
  1. GetMyCPUInfo("Win32_CDROMDrive", "Id");

Añado los datos en el comboBox así.
Código
  1. comboBox_Unidad.Items.Add(datos);

Pues no me sale.

¿Alguna idea?

Saludos.
206  Programación / .NET (C#, VB.NET, ASP) / Re: Usar un buen delimitador en: 25 Marzo 2021, 20:44 pm
Entendido.

Muchísimas gracias.

 ;-) ;-) ;-) ;-)
207  Programación / .NET (C#, VB.NET, ASP) / Re: Usar un buen delimitador en: 25 Marzo 2021, 17:40 pm
Muchas gracias.

El primero funciona de maravilla, exceptuando qu een medio se ponen 0 y no se el motivo. ;)
208  Programación / .NET (C#, VB.NET, ASP) / Usar un buen delimitador en: 24 Marzo 2021, 23:17 pm
Hola:

Mirando este esquema que son comandos que se envían y recibe del puerto serie.


Ver imagen.

Como dice arriba, si pulso X72 más la tecla Enter <cr> en el terminal del puerto serie como indica abajo. Me muestra estos valores.


Ver imagen.

Me mostró esto.

#2000,1400,230,45.0,55.0,8.6

    The apparent power is 2000 VA.
    The active power is 1400 Watts.
    The factory default voltage of output is 230 Volts.
    The rating frecuency range is between 45.0 and 55.0 Hz.
    The rating current is 8.6 Amperes.

Ya puesto en español. En el formulario pongo todo este texto con los labels.

    La potencia aparente es 2000 VA.
    La potencia activa es de 1400 Watts.
    El voltaje de salida predeterminado de fábrica es de 230 voltios.
    El rango de frecuencia nominal está entre 45.0 y 55.0 Hz.
    La corriente nominal es de 8,6 amperios.

Supongamos que recibo el dato indicado arriba y lo vuelvo a mostrar abajo.

#2000,1400,230,45.0,55.0,8.6

Este dato lo guardo en una variable.

La cuestión.

¿Cómo lo paso a cada labels?

Son 5 label indicado arriba, solo cambia el valor en negrita, que son solo números.

¿Alguna idea?

Saludos.


Edito:
Buenas:

Lo he intentado así:
Código
  1. using System;
  2.  
  3. namespace Delimitador_consola_01
  4. {
  5.    class Program
  6.    {
  7.        static void Main(string[] args)
  8.        {
  9.  
  10.            string phrase = "#2000,1400,230,45.0,55.0,8.6";
  11.            string[] words = phrase.Split('#', ',');
  12.  
  13.            foreach (var word in words)
  14.            {
  15.                Console.WriteLine($"<{word}>");
  16.            }
  17.  
  18.  
  19.  
  20.            // Pulse cualquier tecla para salir.
  21.            Console.ReadKey();
  22.        }
  23.    }
  24. }

¿Cómo hago que me lo muestre así?

La potencia aparente es 2000 VA.
La potencia activa es de 1400 Watts.
El voltaje de salida predeterminado de fábrica es de 230 voltios.
El rango de frecuencia nominal está entre 45.0 y 55.0 Hz.
La corriente nominal es de 8,6 amperios.
209  Programación / .NET (C#, VB.NET, ASP) / Re: Leer información de una SAI / UPS en: 23 Marzo 2021, 22:52 pm
Buenas:

Ya me funciona, por fin. La configuración exactamente es esta.



Ver imagen.

Un ejemplo, como dice en el primer ejemplo indicado en el PDF.
Me muestra todo el contenido en verde cuando pulso B.


Ver imagen.

Es todo lo que quería saber. Ahora puedo hacer lo que me de la gana, la interfaz que me de la gana con Visual studio y mostrar los códigos de errores, advertencias y informativos tantos en números como descrptivos usando un buen LCD para Arduino.

También se puede hacer un LDC a distancia controlado por Arduino en RF si no quieres usar cables o lo tienes un poco lejos desde la UPS a al propio usuario que está en otra habitación.

Ahora voy a probar con un poco de C# un buen delimitador para interpretar esto:
Citar
#I222.0O222.5L000B100V27.5F50.4H50.4R012

He iré informando poco a poco.

Salu2.
210  Programación / .NET (C#, VB.NET, ASP) / Re: Detecta disco en el elctor en: 22 Marzo 2021, 18:44 pm
Hola:

Parace ser que por fin me funciona.
Código
  1. using System;
  2. using System.Management; // No olvidar. Añadir en Referencia.
  3.  
  4. namespace Detectar_disco_lector_consola_01
  5. {
  6.    class Program
  7.    {
  8.        // Variables.
  9.        public static string datos = "";
  10.        static void Main(string[] args)
  11.        {
  12.  
  13.            ConsigueComponentes("Win32_CDROMDrive", "MediaLoaded");
  14.  
  15.            // ¿Disco en el lector?
  16.            if (datos == "True")
  17.            {
  18.                Console.WriteLine("Disco en el lector: Sí.");
  19.            }
  20.  
  21.            else
  22.            {
  23.                Console.WriteLine("Disco en el lector: No.");
  24.            }
  25.  
  26.            // Pulse cualquier tecla para salir.
  27.            Console.ReadKey();
  28.        }
  29.  
  30.        private static void ConsigueComponentes(string hwclass, string syntax)
  31.        {
  32.            ManagementObjectSearcher mos = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM " + hwclass);
  33.            foreach (ManagementObject mj in mos.Get())
  34.            {
  35.                if (Convert.ToString(mj[syntax]) != "")
  36.                {
  37.                    datos = Convert.ToString(mj[syntax]);
  38.                }
  39.            }
  40.        }
  41.    }
  42. }

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.
Páginas: 1 ... 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 [21] 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 ... 255
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines