|
141
|
Programación / Programación C/C++ / Quiero saber si es posible transformas estas clases en dll y importarla
|
en: 10 Junio 2019, 21:04 pm
|
Hola: Quiero saber si estas clases se puede transformar por llamarlo de alguna manera en una librería dll y que se pueda llamar y usarla en cualquier interfaz como C#, C++ .net y V b .net. Por ejemplo, estas clases controla el puerto serie que puedes descargar aquí. https://github.com/Gmatarrubia/LibreriasTutorialesHe aprovechado en su tiempo hacer un tutorial sobre esas clases creando una interfaz en C++ bajo Win32 solo consola y funciona, junto con Arduino. Aquí abajo dejo el enlace de como instalarlas y usarlas. https://www.slideshare.net/Metaconta2/arduino-c-y-puerto-serieProbando, hice otro tutorial solo crear una dll que muestra texto y una suma en el cual lo importas a C#, lo lee y funciona tal como indica en el enlace de abajo. https://www.slideshare.net/Metaconta/crear-una-dll-en-c-y-llamarla-con-la-interfaz-cDada ya esta información y antes de empezar, quiero saber si lo que quiero hacer es posible. Para dejarlo más claro, al crear la dll en C++ win32 como indica en el tutorial de arriba, al llamarlo o importarlo con C#, tiene que ser capaz de hacerlo cambiando valores como port, baudios, paridad, bits de stop y demás, algo similar indicado aquí.  Luego enviar comandos al puerto serie y recibirlos ya explicado arriba. En resumen:1. De las clases del puerto serie convertirlas en una dll. 2. Una vez creada la dll, hacer una interfaz que se pueda configurar los parámetros del puerto serie. 3. Usar el puerto serie, enviado y recibiendo tramas de bytes como indica en este tutorial ya dicho. ¿Alguna idea? Saludos.
|
|
|
142
|
Programación / .NET (C#, VB.NET, ASP) / Hacer lo mismo de esta "cosa" de la película ochentera
|
en: 4 Mayo 2019, 21:52 pm
|
Hola: Quiero hacer los dibujos exactamente lo mismo como en este ordenador ochentero de esta película exactamente indicado en el minuto 6:56 de este vídeo. Lo que he hecho hasta ahora son solo textos, en el cual no se el motivo, no me sale el rellenado de la parte derecha de la pantalla con el │ ASCII 179.  using System; using System.Threading; namespace The_Thing_La_Cosa_Consola_01_cs { class Program { static void Main(string[] args) { Console.Title = "The Thing - La Cosa - C#"; Console.WindowWidth = 38; // X ancho. Console.WindowHeight = 15; // Y altura. int tiempo = 1; // Cursor invisible. Console.CursorVisible = false; // Dibujar cuadro. DrawMarco(1, 1, 35, 14); // Escribir textos. Console.SetCursorPosition(2, 4); Escribir("PROJECTION: \n", 25); Console.SetCursorPosition(2, 5); Escribir("IF INTRUDER ORGANISM REACHES \n", 25); Console.SetCursorPosition(2, 6); Escribir("CIVILIZED AREAS . . . \n", 25); Thread.Sleep(100); Console.SetCursorPosition(2, 10); Escribir("ENTIRE WORLD POPULATION INFECTED \n", 25); Console.SetCursorPosition(2, 11); Escribir("27,000 HOURS FROM FIRST CONTACT. \n", 25); // En español. Thread.Sleep(2000); // Limpiar pantalla. Console.Clear(); // Dibujar cuadro. DrawMarco(1, 1, 35, 14); // Escribir textos. Console.SetCursorPosition(2, 3); Escribir("PROYECCIÓN: \n", 25); Console.SetCursorPosition(2, 4); Escribir("SI ORGANISMO INTRUSO ALCANZA \n", 25); Console.SetCursorPosition(2, 5); Escribir("ZONAS CIVILIZADAS . . . \n", 25); Thread.Sleep(100); Console.SetCursorPosition(2, 9); Escribir("TODA LA POBLACIÓN MUNDIAL INFECTÓ\n", 25); Console.SetCursorPosition(2, 10); Escribir("27,000 HORAS DESDE EL PRIMER\n", 25); Console.SetCursorPosition(2, 11); Escribir("CONTACTO. \n", 25); Console.ReadKey(); } public static void Escribir(string Cadena, int tiempo) { foreach (char letra in Cadena) { Console.Write(letra); Thread.Sleep(tiempo); } } private static void DrawMarco(int v1, int v2, int v3, int v4) { Console.ForegroundColor = ConsoleColor.Cyan; // Texto azul claro. Console.BackgroundColor = ConsoleColor.DarkBlue; // Fondo azul oscuro. Console.Clear(); // Para poner fondo azul oscuro en la pantalla completa. Console.CursorVisible = false; gotoXY(v1, v2, "┌"); for (int i = v1 + 1; i < v3; i++) { gotoXY(i, v2, "─"); } gotoXY(v3, v2, "┐"); for (int i = v2 + 1; i < v4; i++) { gotoXY(v3, i, "│"); } gotoXY(v3, v4, "┘"); for (int i = v3 - 1; i > v1; i--) { gotoXY(i, v4, "─"); } gotoXY(v1, v4, "└"); for (int i = v4 - 1; i > v2; i--) { gotoXY(v1, i, "│"); } //Console.CursorVisible = true; } private static void gotoXY(int v1, int v2, string cadena) { Console.SetCursorPosition(v1, v2); Console.WriteLine(cadena); Thread.Sleep(1); } } }
¿Alguna idea de como hacerlo? Por lo que parece, a pesar de que es del 1982, hoy en día exige mucho tiempo y complicado. Saludos.
|
|
|
143
|
Programación / .NET (C#, VB.NET, ASP) / Simulando barra de progreso
|
en: 27 Febrero 2019, 22:29 pm
|
Hola: Independientemente de la cantidad de █ haya para crear una barra de progreso, no llega al 100 %.  Este es su código que he hecho hasta ahora. using System; using System.Threading;
namespace Porcentaje_barra_consola_01_cs { class Program { public static int resultado = 0;
static void Main(string[] args) { // Título de la ventana. Console.Title = "Simulaor barra";
// Tamaño ventana consola. Console.WindowWidth = 60; // X ancho. Console.WindowHeight = 20; // Y altura.
// Cursor invisible. Console.CursorVisible = false;
// Variables. int barra = 49; int porcentaje = 0;
Console.SetCursorPosition(17, 1); Console.Write(" "); Console.SetCursorPosition(17, 1); Console.Write("");
// Dibujamos la barra del portentaje. Console.SetCursorPosition(0, 3); Console.Write("0 % 50 % 100 %"); Console.SetCursorPosition(0, 4); Console.Write("┌────────────────────────────┬───────────────────────────┐"); Console.SetCursorPosition(0, 5); Console.ForegroundColor = ConsoleColor.Yellow;
// Barra de progreso. for (int i = 0; i <= barra; i++) { Console.Write("█"); // Muestra ASCII 219 Dec y DB en Hex. // Console.Write((char)219); // Console.Write(Encoding.ASCII.GetBytes((char)219)); porcentaje++; // Incrementa valor.
printCargando(porcentaje);
Thread.Sleep(100); // 100 ms o 0.1 segundos. }
Console.ReadKey(); }
static void printCargando(int porcentaje) { Console.ForegroundColor = ConsoleColor.Gray; Console.SetCursorPosition(0, 1); // Por dos para que simule el 100%. Console.Write("Cargado: " + (porcentaje).ToString() + " %"); //Console.Write("Cargado: {0} %", (porcentaje * 2).ToString()); //Console.Write($"Cargado: { (porcentaje * 2).ToString() } %");
// Reestablecemos para que vuelva a imprimir bajo la línea de carga. Console.ForegroundColor = ConsoleColor.Yellow; Console.SetCursorPosition(porcentaje, 5); }
} } Gracias. 
|
|
|
144
|
Programación / .NET (C#, VB.NET, ASP) / Escuchar música desde que ejecute la consola y dentro de un array tipo Byte.
|
en: 25 Febrero 2019, 23:21 pm
|
Hola: Código que creo que se puede hacer es algo así. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Musica_consola_01_cs { class Program { static void Main(string[] args) { #region Música. /* Posición Inicial: 00000000, Posición Final: 00001891, Longitud: 00001892 */ // Pongo pocos bytes para no agrandar el tema en el foro. byte[] rawData = { 0x4D, 0x54, 0x68, 0x64, 0x00, 0x00, 0x00, 0x06, 0x00, 0x01, 0x00, 0x08 }; #endregion var c1 = new System.Windows.Media.MediaPlayer(); c1 .Open(new System.Uri(rawData )); c1.Play(); } } }
Me da este error. Gravedad Código Descripción Proyecto Archivo Línea Estado suprimido Error CS0234 El tipo o el nombre del espacio de nombres 'Media' no existe en el espacio de nombres 'System.Windows' (¿falta alguna referencia de ensamblado?) Musica_consola_01_cs C:\Users\Usuario\Documents\Visual Studio 2017\Projects\Musica_consola_01_cs\Musica_consola_01_cs\Program.cs 545 Activo No encuentro en referencia el Media. ¿Alguna idea? Saludos.
|
|
|
145
|
Programación / .NET (C#, VB.NET, ASP) / Introducir y seleccionar lengua en modo consola
|
en: 25 Febrero 2019, 05:51 am
|
Hola: Teniendo un menú hecho por defecto en español en este caso. (Cuando todo esté acabado tiene que estar en Inglés por defecto). Quiero crear menús que sea capaz de elegir el idioma, en al cual hoy en día no hay problema porque está este traductor para escapar. Mi idea para tener un orden de cada idioma a introducir, por ejemplo, español, inglés, alemán, francés, italiano y portugués. En este ejemplo hay 6 lenguas. No se si la mejor opción es crear una carpeta de idiomas y ahí meto cada lengua en el cual es llamado.  Código de ejemplo para. using System; namespace Idiomas_consola_01_cs { class Program { static void Main(string[] args) { // Título de la ventana. Console.Title = "Menú - C# 2017"; // Tamaño ventana consola. // X anchura. Console.WindowWidth = 80; // Y altura. Console.WindowHeight = 40; // Oculto el cursor. Console.CursorVisible = false; // Almacena la tecla pulsada en la variable. ConsoleKey teclaInicial; // Fondo verde. Console.BackgroundColor = ConsoleColor.Green; // Letras negras. Console.ForegroundColor = ConsoleColor.Black; do { // Limpiar pantalla. Console.Clear(); // Formato numérico dd/MM/yyyy. Console.WriteLine(DateTime.Now.ToString("ddd dd MMM")); // Almacena en la variable una tecla pulsada. teclaInicial = Console.ReadKey(true).Key; // ¿Haz pulsado la tecla Enter? if (teclaInicial == ConsoleKey.Enter) { // Sí. Se ejecuta esta función. menuPrincipal(); } } while (teclaInicial != ConsoleKey.Escape); } #region Menú Principal. public static void menuPrincipal() { // Contador de teclas y navegador. int opcion = 0; bool salir = false; // Capturar tecla para luego validar. ConsoleKey tecla; do { // Limpiar pantalla. Console.Clear(); switch (opcion) { case 0: Console.SetCursorPosition(0, 0); Console.Write("Language"); break; case 1: Console.SetCursorPosition(0, 0); Console.WriteLine("Opción 1."); break; case 2: Console.SetCursorPosition(0, 0); Console.WriteLine("Opción 2."); break; case 3: Console.SetCursorPosition(0, 0); Console.WriteLine("Opción 3."); break; case 4: Console.SetCursorPosition(0, 0); Console.WriteLine("Opción 4."); break; case 5: Console.SetCursorPosition(0, 0); Console.WriteLine("Opción 5."); break; case 6: Console.SetCursorPosition(0, 0); Console.WriteLine("Opción 6."); break; case 7: Console.SetCursorPosition(0, 0); Console.WriteLine("Salir menú"); break; default: break; } // Fin de pintar el menú. //****************************************************************** // Leer tecla ingresada por el usuario. tecla = Console.ReadKey(true).Key; // Validar el tipo de tecla. if (tecla == ConsoleKey.Enter) { switch (opcion) { case 1: // Instrucciones. break; case 2: // Instrucciones. break; case 3: // Instrucciones. break; case 4: // Instrucciones. break; case 6: // Instrucciones. break; case 7: salir = true; break; default: break; } } if (tecla == ConsoleKey.DownArrow) { opcion += 1; // Equivalente ++. } if (tecla == ConsoleKey.UpArrow) { opcion -= 1; // --. } // Si está en la última opción, salta a la primera. if (opcion > 7) { opcion = 0; } // Si está en la primera posición, salta a la última. if (opcion < 0) { opcion = 7; } // Uso la tecla escape como salida. } while (salir == false); } #endregion } }
En el menú Languaje, si pulsas Enter, tiene que verse en Inglés, todos los idiomas que vayamos incorporando. El usuario elige el idioma y se queda seleccionado. ¿Alguna idea? Saludos.
|
|
|
146
|
Programación / .NET (C#, VB.NET, ASP) / Timer en vez de Sleep.
|
en: 9 Febrero 2019, 11:10 am
|
Hola: Quiero hacer un parpadeo de un texto en modo consola. Por ahora solo me sale con Sleep, pero no me gusta este. Aún así dejo un ejemplo de lo que quiero pero está hecho en Sleep.  using System; using System.Threading; // No olvidar. namespace Parpadeo_texto_consola_01_cs { class Program { static void Main(string[] args) { // Título de la ventana. Console.Title = "Blink"; // Tamaño ventana consola. // X anchura. Console.WindowWidth = 16; // Y altura. Console.WindowHeight = 2; // Oculto el cursor. Console.CursorVisible = false; // Como estamos en un ejemplo, da igual en este caso // poner un bucle infinito. Quiero que se muestre el // resultado. while (true) { // Posición de la pantalla. Console.SetCursorPosition(0, 0); // Mostrar texto en pantalla. Console.Write("Hola mundo"); // Retardo de 0.5 segundos. 1000 ml (mili segundos) // es igual a 1 segundo. Thread.Sleep(500); // Posición de la pantalla. Console.SetCursorPosition(0, 0); // Mostrar espaciones en blanco para borrar texto anterior. Console.Write(" "); // Retardo 0.3 seg. Thread.Sleep(300); } } } }
Quiero hacer lo mismo, pero con el Timer en modo consola, lo que me cuesta hacerlo. Ya qu el timer pude interrumpir el programa cuando está dentro del temporizador pero con el Sleep, hasta que no acabe el tiempo, el programa se queda como en esclavo, sobre todo en tiempos muy largos. ¿Hay alguna forma de hacerlo en modo consola? Si se puede hacer el parpadeo en una función y lo llamo cuando quiera, mejor que mejor. Saludos.
|
|
|
147
|
Programación / .NET (C#, VB.NET, ASP) / Menús en modo consola
|
en: 3 Febrero 2019, 08:54 am
|
Hola: Estoy usando la consola de C#, me dio ahora por el retro.  Hice este menú de opciones, pero no hace nada. Por ahora solo selecciona las opciones. Lo que no se es como entrar en otra opción dentro de ella en DOS al pulsar Enter. Estoy en el submenú que sale un menaje que diga. Estoy dentro de la opción DOS. Con capacidad de pulsar Escape y vuelva al menú principal. Lo que he hecho hasta ahora es solo esto. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Menu_consola_02_cs { class Program { static void Main(string[] args) { // Título de la ventana. Console.Title = "Menú de opciones"; // Tamaño ventana consola. Console.WindowWidth = 20; // X anchura. Console.WindowHeight = 8; // Y altura. // Cursor invisible. Console.CursorVisible = false; //Contador de teclas y navegador int contador = 0; //tomar la tecla para validar luego ConsoleKey tecla; //escondo el cursor Console.CursorVisible = false; do { //****************************************************************** //Pinto el menú Console.Clear(); Console.Write("╔══════════════════╗\n"); if (contador == 0) { Console.BackgroundColor = ConsoleColor.White; Console.ForegroundColor = ConsoleColor.Black; Console.Write("║ UNO ║\n"); Console.BackgroundColor = ConsoleColor.Black; Console.ForegroundColor = ConsoleColor.White; } else { Console.BackgroundColor = ConsoleColor.Black; Console.ForegroundColor = ConsoleColor.White; Console.Write("║ UNO ║\n"); } if (contador == 1) { Console.BackgroundColor = ConsoleColor.White; Console.ForegroundColor = ConsoleColor.Black; Console.Write("║ DOS ║\n"); Console.BackgroundColor = ConsoleColor.Black; Console.ForegroundColor = ConsoleColor.White; } else { Console.BackgroundColor = ConsoleColor.Black; Console.ForegroundColor = ConsoleColor.White; Console.Write("║ DOS ║\n"); } if (contador == 2) { Console.BackgroundColor = ConsoleColor.White; Console.ForegroundColor = ConsoleColor.Black; Console.Write("║ TRES ║\n"); Console.BackgroundColor = ConsoleColor.Black; Console.ForegroundColor = ConsoleColor.White; } else { Console.BackgroundColor = ConsoleColor.Black; Console.ForegroundColor = ConsoleColor.White; Console.Write("║ TRES ║\n"); } if (contador == 3) { Console.BackgroundColor = ConsoleColor.White; Console.ForegroundColor = ConsoleColor.Black; Console.Write("║ CUATRO ║\n"); Console.BackgroundColor = ConsoleColor.Black; Console.ForegroundColor = ConsoleColor.White; } else { Console.BackgroundColor = ConsoleColor.Black; Console.ForegroundColor = ConsoleColor.White; Console.Write("║ CUATRO ║\n"); } if (contador == 4) { Console.BackgroundColor = ConsoleColor.White; Console.ForegroundColor = ConsoleColor.Black; Console.Write("║ ESC = SALIR ║\n"); Console.BackgroundColor = ConsoleColor.Black; Console.ForegroundColor = ConsoleColor.White; } else { Console.BackgroundColor = ConsoleColor.Black; Console.ForegroundColor = ConsoleColor.White; Console.Write("║ ESC = SALIR ║\n"); } Console.Write("╚══════════════════╝\n"); //Fin de pintar el menú //****************************************************************** //leer tecla ingresada por el usuario tecla = Console.ReadKey(true).Key; //validar el tipo de tecla if (tecla == ConsoleKey.DownArrow) { contador += 1; } if (tecla == ConsoleKey.UpArrow) { contador -= 1; } //valido que el conteo de teclas no supere el rango establecido por los Ifs de más arriba if (contador > 4) { contador = 4; } if (contador < 0) { contador = 0; } //uso la tecla escape como salida } while (tecla != ConsoleKey.Escape); } } }
No logro cuajarlo como si se ha hecho por aquí en este otro ejemplo de abajo. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Menu_y_opciones_consola_02_cs { class Program { static void Main(string[] args) { // Título de la ventana. Console.Title = "Menú y opciones C# 2017"; // Tamaño ventana consola. Console.WindowWidth = 30; // X. Ancho. Console.WindowHeight = 17; // Y. Alto. // Cursor invisible. Console.CursorVisible = false; // Cuadro doble borde ventana. Menu_y_opciones_consola_02_cs.Cuadro.cuadrado(); // Posición del mansaje en la ventana. Console.SetCursorPosition(2, 2); Console.WriteLine("Elija una opción:"); Console.WriteLine(""); Console.SetCursorPosition(2, 4); Console.WriteLine("1 - Opción A."); Console.SetCursorPosition(2, 5); Console.WriteLine("2 - Opción B."); Console.SetCursorPosition(2, 6); Console.WriteLine("3 - Opción C."); Console.SetCursorPosition(2, 7); Console.WriteLine("Escape - Salir."); Console.SetCursorPosition(2, 8); Console.Write("==============="); ConsoleKey key; do { // Cursor invisible Console.CursorVisible = false; // Lee cualquier tecla. key = Console.ReadKey(true).Key; // Variable de mensaje vacío. string mensaje = string.Empty; // Leer tecla selecconada por el usuario. switch (key) { case ConsoleKey.D1: // Tecla principal 1. case ConsoleKey.NumPad1: // Tecla extendida 1. Console.SetCursorPosition(2, 10); mensaje = "OPCIÓN A."; // Mostrar mensaje en pantalla. break; case ConsoleKey.D2: case ConsoleKey.NumPad2: mensaje = "OPCIÓN B."; break; case ConsoleKey.D3: case ConsoleKey.NumPad3: mensaje = "OPCIÓN C."; break; } // Posición de los mensajes. Console.SetCursorPosition(2, 10); Console.Write(" "); // 13 espacios. Console.SetCursorPosition(2, 10); Console.Write(mensaje); } // Salir de la plicación al pulsar la tecla Escape o número 4. while (key != ConsoleKey.Escape); } } }
Saludos.
|
|
|
150
|
Programación / .NET (C#, VB.NET, ASP) / Enviar email con C#
|
en: 12 Enero 2019, 09:41 am
|
Hola: Me da error al enviar mensaje por emmail desde C#.  El código por ahora es este. using System; using System.Windows.Forms; using System.Net; // No olvidar. using System.Net.Mail; // No olvidar.
namespace Enviar_e_mail_01_cs { public partial class Form1 : Form { public Form1() { InitializeComponent(); }
private void button_Enviar_Click(object sender, EventArgs e) { //La cadena "servidor" es el servidor de correo que enviará tu mensaje string servidor = comboBox_smtp.SelectedItem.ToString(); // smtp.gmail.com
// Crea el mensaje estableciendo quién lo manda y quién lo recibe MailMessage mensaje = new MailMessage( textBox_Emisor.Text, textBox_Receptor.Text, textBox_Asunto.Text, richTextBox_Mensaje.Text);
//Envía el mensaje. SmtpClient cliente = new SmtpClient(servidor); cliente.DeliveryMethod = SmtpDeliveryMethod.Network; cliente.UseDefaultCredentials = false; cliente.Credentials = new System.Net.NetworkCredential(textBox_Emisor.Text, textBox_Contraseña.Text); cliente.Port = Int32.Parse(comboBox_Puerto.Text); ; // 587 //cliente.Port = 25; cliente.Host = servidor; // smtp.gmail.com cliente.EnableSsl = true;
//Añade credenciales si el servidor lo requiere. cliente.Credentials = CredentialCache.DefaultNetworkCredentials; cliente.Send(mensaje); } } } Error indicado aquí. Da igual sea con hotmail o gmail.  Me llegó un mensaje al gmail de seguridad por usar formulario C#. Se ha bloqueado un intento de inicio de sesión metaconta@gmail.comAlguien acaba de usar tu contraseña para intentar iniciar sesión en tu cuenta desde una aplicación que no es de Google. Aunque Google ha bloqueado el acceso, deberías averiguar qué ha pasado. Revisa la actividad de la cuenta y comprueba que solo tú tienes acceso a ella. Pincho y eso sale. Se ha bloqueado una aplicación poco segura Hemos bloqueado la aplicación que intentabas usar porque no cumple nuestros estándares de seguridad. Algunos dispositivos y aplicaciones utilizan una tecnología de inicio de sesión menos segura, lo que hace que tu cuenta sea más vulnerable. Te recomendamos que desactives el acceso de estas aplicaciones, aunque también puedes activarlo si quieres usarlas a pesar de los riesgos que conllevan. Más informaciónPermitir el acceso a cuentas desde aplicaciones menos seguras
Si una aplicación o un dispositivo no cumple con nuestros estándares de seguridad, Google bloqueará a cualquier persona que intente iniciar sesión desde esa aplicación o dispositivo. El bloqueo contribuye a mantener la seguridad de tu cuenta, ya que es muy fácil acceder a estas aplicaciones y dispositivos sin autorización.
A continuación, se muestran algunos ejemplos de aplicaciones que no son compatibles con la última versión de los estándares de seguridad:
La aplicación Mail para iPhone o iPad con la versión 6 o versiones anteriores La aplicación Mail en un teléfono con una versión de Windows Phone anterior a la 8.1 Algunos clientes de correo electrónico para ordenadores, como Microsoft Outlook y Mozilla Thunderbird
Cambiar el acceso a la cuenta para aplicaciones menos seguras
Para mantener más protegidas tus cuentas de Google del trabajo, del centro educativo o de otro grupo, bloqueamos las aplicaciones menos seguras para que no puedan acceder a ellas. Si tienes una cuenta de este tipo, se te mostrará el error "Contraseña incorrecta" cuando intentes iniciar sesión. Si es así, tienes dos opciones:
Opción 1: instala una aplicación más segura que utilice medidas de seguridad más sólidas. Todos los productos de Google, como Gmail, utilizan las medidas de seguridad más recientes. Opción 2: cambia la configuración para permitir que las aplicaciones poco seguras accedan a tu cuenta. Esta opción no es recomendable porque puede facilitar el acceso a tu cuenta a otra persona. Si, aún así, quieres utilizarla, sigue estos pasos: Ve a tu cuenta de Google. En el panel de navegación de la izquierda, haz clic en Seguridad. En el panel Acceso de aplicaciones poco seguras de la parte inferior de la página, haz clic en Activar acceso. Si no ves este ajuste, es posible que el administrador haya desactivado el acceso de las aplicaciones poco seguras a la cuenta.
Si sigues sin poder iniciar sesión en tu cuenta, obtén más información sobre el error "Contraseña incorrecta" ¿Alguna grandísima idea? Hace años no pasaba estas cosas. Saludos:)
|
|
|
|
|
|
|