private void iniciarContador() { int segundosPermitidos = minutosPermitidos*60; bool preavisoMostrado = false; while (segundosTranscurridos < segundosPermitidos) { string cadenaTiempo = File.ReadAllText(rutaControlTiempo); segundosTranscurridos = int.Parse(cadenaTiempo.Substring(cadenaTiempo.IndexOf("-")+1)) + 1; cadenaTiempo = DateTime.Now.Date.ToShortDateString() + "-" + segundosTranscurridos; File.WriteAllText(rutaControlTiempo, cadenaTiempo); this.mostrarTiempoTranscurrido( formatearSegundos( segundosTranscurridos)); this.mostrarTiempoRestante(formatearSegundos((minutosPermitidos * 60) - segundosTranscurridos)); //si faltan 2 minutos para terminar tiempo if (segundosPermitidos - segundosTranscurridos < segundosParaPreaviso && preavisoMostrado == false) { WindowHandler manejador = new WindowHandler(); System.Diagnostics.Process[] procesos = System.Diagnostics.Process.GetProcesses(); IntPtr handle; foreach (System.Diagnostics.Process proceso in procesos) { handle = proceso.MainWindowHandle; if (handle != IntPtr.Zero) manejador.Minimize((int)handle); } int hand = manejador.getIdManejadorVentana("system"); manejador.Maximize(hand); preavisoMostrado = true; } Thread.Sleep(1000); } denegarAcceso(); CierraAplicaciones.cerrarNavegadoresAbiertos(); formularioPrincipal.Close(); }