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

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


  Mostrar Mensajes
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 254
1  Programación / .NET (C#, VB.NET, ASP) / Re: ¿Alguna manera de enviar mensajes desde C# a WhatsApp? en: 18 Enero 2024, 04:03 am
Gracias por la respuesta.
2  Programación / .NET (C#, VB.NET, ASP) / ¿Alguna manera de enviar mensajes desde C# a WhatsApp? en: 31 Diciembre 2023, 04:31 am
Buenas y felices fiestas 2023.

Siguiendo este vídeo, a mi no me funciona, ya que indica bajarse el WhatsApp desde Microsoft Store y no encuentro el ejecutable por algún lado.



El código es este:
Código
  1. using System;
  2. using System.Diagnostics;
  3. using System.Threading;
  4. using System.Windows.Forms;
  5.  
  6. namespace WhatsApp_01
  7. {
  8.    public partial class Form1 : Form
  9.    {
  10.        public Form1()
  11.        {
  12.            InitializeComponent();
  13.        }
  14.  
  15.        private void button_Enviar_Click(object sender, EventArgs e)
  16.        {
  17.            string numero = textBox_Numero.Text;
  18.            string mensaje = richTextBox_Mensaje.Text;
  19.  
  20.            // Abrir la aplicación de WhatsApp versión escritorio.
  21.            Process proceso = new Process();
  22.            proceso.StartInfo.FileName = @"C:\users\usuario\AppData\WhatsApp\WhatsApp.exe";
  23.            proceso.Start();
  24.  
  25.            Thread.Sleep(5000);
  26.            SendKeys.SendWait("^n");
  27.  
  28.            Thread.Sleep(2000);
  29.            SendKeys.SendWait(numero);
  30.            SendKeys.SendWait("{Enter}");
  31.  
  32.            Thread.Sleep(2000);
  33.            SendKeys.SendWait(mensaje);
  34.            SendKeys.SendWait("{Enter}");
  35.        }
  36.  
  37.        private void textBox_Numero_KeyPress(object sender, KeyPressEventArgs e)
  38.        {
  39.            if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))
  40.            {
  41.                e.Handled = true;
  42.            }
  43.        }
  44.    }
  45. }

En mi caso desde WhatsApp, también puede ser Telegram, enviar mensajes como comandos, lo lea el PC y activo Led porque tiene incorporado Arduino. Lo que si puedo hacer es enviar comandos desde gmail y hotmail en modo consola y Windows Form con C#.

Saludos.
3  Programación / .NET (C#, VB.NET, ASP) / Re: Error en este código: no se puede convertir de 'byte[]' a 'char[]' en: 29 Diciembre 2023, 18:20 pm
Funciona tu código.   ;-)
Estás hecho un campeón. Gracias a todos.  ;D ;D ;D ;-)

El primer código funciona si pongo en vez de byte[] ponerlo a char[], cosa que no me interesa. El tuyo es el que quiero.

Y si, estoy aprendiendo con ejemplos sueltos antes de meterle mano al puerto serie.

Felices fiestas 2023.  :D
4  Programación / .NET (C#, VB.NET, ASP) / Re: Error en este código: no se puede convertir de 'byte[]' a 'char[]' en: 29 Diciembre 2023, 03:50 am
Lo intenté hacer de esta otra forma.

Código
  1. using System;
  2. using System.Text;
  3.  
  4. namespace Almacenar_datos_en_un_array_tipo_byte_Consola_01
  5. {
  6.    internal class Program
  7.    {
  8.        static void Main(string[] args)
  9.        {
  10.  
  11.            // Tamaño máximo del array de bytes.
  12.            byte[] byteArray = new byte[1024];
  13.  
  14.            // Convertir de byte[] a char[]
  15.            char[] charArray  = Encoding.Default.GetString(byteArray).ToCharArray();
  16.  
  17.            Console.WriteLine("Escribe un texto y pulsa Enter:");
  18.  
  19.            // Lee los bytes desde la consola y los guarda en el array.
  20.            int leerBytes = Console.In.Read(charArray, 0, charArray.Length);
  21.  
  22.            Console.WriteLine("Datos almacenados en el array:");
  23.            for (int i = 0; i < leerBytes; i++)
  24.            {
  25.                Console.Write(byteArray[i] + " ");
  26.            }
  27.            Console.WriteLine();
  28.  
  29.            Console.WriteLine("Texto almacenado en el array:");
  30.  
  31.            // Convierte los bytes a una cadena de texto.
  32.            string texto = Encoding.Default.GetString(byteArray, 0, leerBytes);
  33.            Console.WriteLine(texto);
  34.  
  35.            // Pulse cualquier tecla para salir.
  36.            Console.ReadKey();
  37.        }
  38.    }
  39. }

Me lee todo como ceros.
5  Programación / .NET (C#, VB.NET, ASP) / Re: Error en este código: no se puede convertir de 'byte[]' a 'char[]' en: 27 Diciembre 2023, 16:45 pm
En string no lo prefiero, porque ahora prefiero hacer pruebas directamente en un array, ya que los datos me vienen directamente del puerto serie y debo capturar todo tipo de datos en Bytes, incluyendo /r y /n por poner un ejemplo.

Aún así cuando llegue a mi casa pruebo tu código y muchas gracias.

Luego te comento.
6  Programación / .NET (C#, VB.NET, ASP) / Error en este código: no se puede convertir de 'byte[]' a 'char[]' en: 27 Diciembre 2023, 07:06 am
Hola:

Tengo este código y me salta este error. Supuestamente es todo a byte[], nada de char[].

Código
  1. using System;
  2. using System.Text;
  3.  
  4. namespace Almacenar_datos_en_un_array_tipo_byte_Consola_01
  5. {
  6.    internal class Program
  7.    {
  8.        static void Main(string[] args)
  9.        {
  10.            byte[] dataArray = new byte[1024]; // Tamaño máximo del array de bytes.
  11.  
  12.            Console.WriteLine("Escribe un texto y pulsa Enter:");
  13.            int bytesRead = Console.In.Read(dataArray, 0, dataArray.Length); // Lee los bytes desde la consola y los guarda en el array.
  14.  
  15.            Console.WriteLine("Datos almacenados en el array:");
  16.            for (int i = 0; i < bytesRead; i++)
  17.            {
  18.                Console.Write(dataArray[i] + " ");
  19.            }
  20.            Console.WriteLine();
  21.  
  22.            Console.WriteLine("Texto almacenado en el array:");
  23.            string text = Encoding.Default.GetString(dataArray, 0, bytesRead); // Convierte los bytes a una cadena de texto.
  24.            Console.WriteLine(text);
  25.        }
  26.    }
  27. }

Justo aquí.
Código
  1. int bytesRead = Console.In.Read(dataArray, 0, dataArray.Length); // Lee los bytes desde la consola y los guarda en el array.

En el primer dataArray.
7  Programación / .NET (C#, VB.NET, ASP) / Re: ERROR: Referencia a objeto no establecida como instancia de un objeto. en: 25 Diciembre 2023, 08:17 am
La idea del programa es almacenar los bytes recibidos y mostrarlo en pantalla.

Si no ha llegado nada, que diga que no hay nada con un mensaje.
8  Programación / .NET (C#, VB.NET, ASP) / Re: ERROR: Referencia a objeto no establecida como instancia de un objeto. en: 13 Diciembre 2023, 21:48 pm
Me ejecuta pero en pantalla no me muestra nada a la hora de enviar tramas de bytes para ver si lo capta. Si no hay nada, que también indique algo para saberlo.
9  Programación / .NET (C#, VB.NET, ASP) / Re: ERROR: Referencia a objeto no establecida como instancia de un objeto. en: 7 Diciembre 2023, 23:37 pm
Me equivoqué. La captura es esta:



Ver zoom.

Disculpen.
10  Programación / .NET (C#, VB.NET, ASP) / ERROR: Referencia a objeto no establecida como instancia de un objeto. en: 6 Diciembre 2023, 22:37 pm
Hola:

En este código me sale un error y no se como corregirlo, ya que me interesa mostrar datos en pantalla y no me sale.

Ver error.

Código hecho hasta ahora.
Código
  1. using System;
  2. using System.IO.Ports;
  3.  
  4. namespace Almacenar_byte_puerto_serie_Consola_01
  5. {
  6.    internal class Program
  7.    {
  8.        static SerialPort puertoSerie;
  9.        static byte[] datoRecibido;
  10.        static void Main(string[] args)
  11.        {
  12.            #region Configuración ventana.
  13.            // Título de la ventana.
  14.            Console.Title = "Almacenar byte[] desde el puerto serie.";
  15.  
  16.            // Tamaño de la ventana, x, y, o ancho y alto.
  17.            const byte ANCHO_X = 70, ALTO_Y = 25;
  18.            Console.SetWindowSize(ANCHO_X, ALTO_Y);
  19.  
  20.            // Color de fondo.
  21.            Console.BackgroundColor = ConsoleColor.Black;
  22.  
  23.            // Color de las letras.
  24.            Console.ForegroundColor = ConsoleColor.Yellow;
  25.  
  26.            // Limpiar pantalla y dejarlo todo en color de fondo.
  27.            Console.Clear();
  28.  
  29.            // Visible el cursor.
  30.            Console.CursorVisible = true;
  31.            #endregion
  32.  
  33.            puertoSerie = new SerialPort()
  34.            {
  35.                // Configuración del puerto serie.
  36.                PortName = "COM4",           // Nombre del puerto serie.
  37.                BaudRate = 2400,             // Velocidad en baudios.
  38.                Parity = Parity.None,        // Esquema para comprobar la paridad de cada byte recibido.
  39.                StopBits = StopBits.One,     // Número de bits de parada por byte.
  40.                DataBits = 8,                // Número de bits de datos por byte.
  41.                Handshake = Handshake.None,  // Protocolo de establecimiento.
  42.                DtrEnable = true,            // Línea de terminal de datos.
  43.                RtsEnable = true,            // Línea de solicitud.
  44.  
  45.                // Establecer los tiempos de espera de lectura / escritura.
  46.                ReadTimeout = 500,           // Tiempo de espera de escritura en ms.
  47.                WriteTimeout = 500,          // Tiempo de espera de escritura en ms.
  48.  
  49.                // Más configuraciones.
  50.                DiscardNull = false,         // Descartar bytes nulos recibidos.
  51.                ParityReplace = 63,          // Reemplaza los bytes recibidos con errores de paridad.
  52.                ReadBufferSize = 4096,       // Tamaño del búfer de lectura en bytes.
  53.                WriteBufferSize = 2018,      // Tamaño del búfer de escritura en bytes.
  54.                ReceivedBytesThreshold = 1   // Número de bytes que se necesitan.
  55.            };
  56.  
  57.            puertoSerie.DataReceived += SerialPort_DataReceived;
  58.            puertoSerie.Open();
  59.  
  60.            Console.WriteLine("Presiona cualquier tecla para detener la captura...");
  61.            Console.ReadKey();
  62.  
  63.            puertoSerie.Close();
  64.  
  65.            Console.WriteLine("Datos recibidos:");
  66.            MostrarBytes(datoRecibido);
  67.        }
  68.        static void SerialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
  69.        {
  70.            SerialPort sp = (SerialPort)sender;
  71.            int bytesToRead = sp.BytesToRead;
  72.            byte[] buffer = new byte[bytesToRead];
  73.            sp.Read(buffer, 0, bytesToRead);
  74.  
  75.            if (datoRecibido == null)
  76.            {
  77.                datoRecibido = buffer;
  78.            }
  79.            else
  80.            {
  81.                Array.Resize(ref datoRecibido, datoRecibido.Length + bytesToRead);
  82.                Array.Copy(buffer, 0, datoRecibido, datoRecibido.Length - bytesToRead, bytesToRead);
  83.            }
  84.        }
  85.  
  86.        static void MostrarBytes(byte[] dato)
  87.        {
  88.            for (int i = 0; i < dato.Length; i++)
  89.            {
  90.                Console.Write($"{dato[i]} ");
  91.            }
  92.            Console.WriteLine();
  93.        }
  94.    }
  95. }

Se trata de obtener bytes puro y duro desde el RS232 o puerto serie, almacenarlo en un array tipo byte[] y mostrarlo en pantalla.

¿Alguna idea?

Saludos.
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 254
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines