using System;
using System.IO.Ports;
using System.Text;
using System.Collections.Generic;
using System.Drawing;
using System.Windows;
using System.Runtime.InteropServices;
using System.Threading;
using WindowsInput.Native;
using WindowsInput;
namespace Consola_cs
{
class Program
{
static void Main(string[] args)
{
// Tamaño ventana consola.
Console.WindowWidth = 55; // X. Ancho.
Console.WindowHeight = 18; // Y. Alto.
// Cree un nuevo objeto SerialPort con la configuración predeterminada.
SerialPort Puerto_serie = new SerialPort("COM4");
Puerto_serie.BaudRate = 9600;
Puerto_serie.Parity = Parity.None;
Puerto_serie.StopBits = StopBits.One;
Puerto_serie.DataBits = 8;
Puerto_serie.Handshake = Handshake.None;
Puerto_serie.RtsEnable = true;
// Establecer los tiempos de espera de lectura / escritura.
Puerto_serie.ReadTimeout = 500; // Milisegundos.
Puerto_serie.WriteTimeout = 500;
// Detecta cualquier dato recibido.
Puerto_serie.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
Puerto_serie.Open(); // Abrir puerto.
ConsoleKey tecla;
Console.WriteLine("Pulse tecla Escape para apagar:");
do
{
tecla = Console.ReadKey(true).Key; // Espera pulsación de teclas.
}
while (tecla != ConsoleKey.Escape); // Pulsa Escape para salir del menú.
Console.WriteLine("Presione cualquier tecla para terminar...");
Console.WriteLine();
Console.ReadKey(); // Espera pulsar una tecla cualquiera.
Puerto_serie.Close(); // Cierra el puerto serie.
}
private static void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
{
SerialPort sp = (SerialPort)sender;
string entradaDatos = sp.ReadExisting(); // Almacena los datos recibidos en la variable tipo string.
Console.WriteLine("Dato recibido:" + entradaDatos); // Muestra en pantalla los datos recibidos.
InputSimulator Simulator = new InputSimulator(); // Utiliza la libreria using WindowsInput.
Simulator.Keyboard.TextEntry(entradaDatos); //Muestra el text donde se encunetra el cursor los datos recibidos.
}
}
}