Cómo añadir un reloj o un calendario al escritorio de Windows 10


Como habrá notado, los gadgets de escritorio y la barra lateral faltan en Windows desde Windows 8 RTM pues Microsoft en su día los eliminó para enfocar el desarrollo en Windows 8 y promover las llamadas aplicaciones modernas basadas en mosaicos.

Estos gadgets en realidad no eran mas que pequeños elementos software que en estos momentos ya no podemos encontrar de manera nativa en Windows 10, pero que aún muchos recordamos como pueden ser pueden ser :

  • Calendario
  • Reloj tamaño “medio” en tiempo real en tamaños y diferentes diseños
  • Estado del tiempo
  • Notas
  • Juegos
  • etc

Pueden ser simples , pero en todo momento teníamos a nuestra disposición datos útiles relativos a la información meteorológica, la hora de todo el mundo, el calendario, la bolsa, etc. De hecho gracias a estos pequeños elementos software que os comentamos, disponíamos de manera directa de sencillos juegos, un visor de fotos, u otras utilidades. En estos momentos estos objetos se podrían comparar a lo que actualmente nos ofrece la propia Microsoft a través de su funcionalidad Noticias e intereses. Esto demuestra que este tipo de informaciones accesibles en todo momento en Windows, siguen siendo muy necesarias.

Mencionar que la principal razón de esta desaparición vino dada por temas de seguridad pues en su día Microsoft consideró que estos programas se podían convertir en un claro foco de vulnerabilidades, de ahí su eliminación completa, lo cual ciertamente no necesariamente tiene que ser así si sabemos el origen exacto de ese gadget y confiamos en el.

Barra de Juego

En las últimas versiones de Windows 10, también han llegado algunos de estos elementos integrados en el sistema. Con el tiempo estos poco a poco han crecido en número ( eso si en poca proporción y además algunos son de pago) por lo que claramente Np son comparables en cuanto a cantidad, a los que podíamos usar en el pasado de forma nativa en en versiones anteriores ,

Para acceder a la Barra de juego no tenemos más que hacer uso de la combinación de teclas Win + G.

Obviamente No necesitamos tener una Xbox para ejecutar esta aplicación , pues como vamos a ver en realidad

la vamos a usar con otro cometido que nada tiene que ver con los juegos online.

En caso de no tener instalada dicha herramienta, deberemos ir a la tienda de aplicaciones de Microsoft e instalarla ya que es completamente gratuita y la necesitaremos para acceder a las diferentes widgets que Microsoft nos puede proporcionar.

Una vez instalada xbox game box ,en ese momento aparecerá en pantalla la barra de juego a la que os hacemos referencia, siendo uno de sus apartados llamado Menú Widgets. Antes de seguir destacar que existen algunas herramientas que nos pueden ser muy útiles como son el de captura, la configuración de audio, el visor de rendimiento o la propia configuración de los widgets disponibles.

Si nos centramos ahora así en widgets, al pinchar aquí veremos una lista con los widgets que tengamos instalados. Si queremos instalar nuevos tendremos que ir a la tienda de Widgets donde podremos encontrar una muy pequeña selección de widgets tanto gratuitos como de pago para que podamos ver o anclar aquellos que nos interesen.

Es importante destacar que en el momento que cambiemos de aplicación o pulsemos Esc, estos elementos desaparecerán de nuevo. Sin embargo si, cuando están en pantalla, pinchamos en su icono con forma de chincheta situado en la esquina superior derecha, se mantendrán a la vista siempre que anclemos aquellos que nos interesen. .

Desktop Gadget SideBar

Para todos los entusiastas de los gadgets que disfrutaron y se divirtieron con ellos existe , existe la versión revivida de Desktop Gadgets / Sidebar .

Por tanto, estamos ante un software gratuito que nos permitirá traer de vuelta esos gadgets de los que os hablamos. De hecho se podría decir que en gran medida respeta la apariencia y el funcionamiento de los gadgets originales que encontrábamos en Vista. Decir que para poder traer de vuelta estos elementos a Windows 10, lo podremos lograr desde este enlace , enlace que nos descargará DesktopGadgetsInstaller.zip.

A continuación, una vez tenemos descargado ese fichero, ejecutamos el programa de manera convencional y lo configuramos para que, por ejemplo, su interfaz esté en español

configurar gadgets

Las características más importantes de esta instalación son:

  • Es compatible con todos los idiomas posibles de Windows 8, por lo que obtendrá gadgets y la interfaz de la barra lateral con su idioma nativo.
idioma
  • El instalador puede detectar el idioma requerido automáticamente e instalarlo para Sidebar.
  • Debemos esperar a que finalice el instalador. Verá la ventana familiar “Gadgets” abierta en el escritorio.

Restaurará todas las características originales como:

  • Menú contextual del escritorio de gadgets:
  • El comando mostrar / ocultar gadgets:
  • Integración total del Panel de control con enlaces de trabajo dentro de la categoría “Apariencia y personalización” 

  • La integración con Windows Search: donde sea que escriba “gadgets”, en el Panel de control o en los menús de inicio de terceros como Classic Shell o StartIsBack , las tareas comunes relacionadas con los gadgets aparecerán en los resultados de búsqueda. El menú Classic Shell:Ejemplo de menú de Classic ShellEl menú Inicio es Atrás:Ejemplo de menú Inicio está atrás

Por tanto estamos ante un software gratuito que en gran medida respeta la apariencia y el funcionamiento de los gadgets originales que encontrábamos en Vista pero que si nos ceñimos exclusivamente a los gadgets incluidos por defecto se limita a solo 8 gadgets, que eso si podemos ampliar desde Gadgets Revived | Desktop gadgets and sidebar for Windows 10 and Windows 8 .

Win7Gadgets

Aparte de la opción anterior , la cual parece limitada aunque tal vez suficiente si buscamos algo en concreto que nos satisfaga alguna de la opciones disponibles , existe otra alternativa de terceros Win7Gadgets.

A la misma se puede acceder desde este enlace, donde nos encontramos con una buena cantidad de elementos de este tipo separados por categorías

Una vez nos adentramos en cualquiera de ellas, nos encontramos con varias propuestas de un mismo tipo, pero con diferentes diseños y funciones aunque tendremos la oportunidad de elegir la que más nos interesa en cada caso para su descarga e instalación .

Lo peor de esta opción es que tendremos que instalar cada gadget manualmente o bajo nuestra propia completa responsabilidad pues incluso W10 nos advertirá de que potencialmente estos gadgets pueden dañar nuestro equipo , por lo que recomendaríamos personalmente mucha prudencia a la hora de optar por esta opción.

Barra de progreso en PowerPoint


Para crear una barra de progreso en la parte inferior  de su presentación de PowerPoint  2018  en realidad  es un proceso muy sencillo ,  pues solo tiene que incluir en macros un sencillo  código en Visual Basic que vamos a  ver a continuación.

Para ello , desde Power Point 2018 tenenos que ir a la pestaña Vista  y pulsar en Macros.

Ahí escribiremos “Barra de Progreso ” en la caja “nombre de la macro  y pulsaremos sobre  el  botón “Crear

Ahora justo en la caja del código meteremos el siguiente  fragmento de código en VB para aplicaciones :

Sub BarraDeProgreso()
On Error Resume Next
Height = 10 ' cambiar este valor para modificar la altura de la barra de progreso
With ActivePresentation
For X = 1 To .Slides.Count
.Slides(X).Shapes("A").Delete
.Slides(X).Shapes("B").Delete
Set s = .Slides(X).Shapes.AddShape(msoShapeRectangle, _
0, .PageSetup.SlideHeight - Height, _
X * .PageSetup.SlideWidth / .Slides.Count, Height)
s.Fill.ForeColor.RGB = RGB(0, 153, 204) ' cambiar los valores de RGB para personalizar el color de la barra
s.Line.Visible = msoFalse
s.Name = "A"
Set s = .Slides(X).Shapes.AddShape(msoShapeRectangle, _
X * .PageSetup.SlideWidth / .Slides.Count, .PageSetup.SlideHeight - Height, _
.PageSetup.SlideWidth - X * .PageSetup.SlideWidth / .Slides.Count, Height)
s.Fill.ForeColor.RGB = RGB(255, 255, 255)
s.Line.Visible = msoFalse
s.Name = "B"
Next X:
End With
End Sub

Hecho esto ,guardaremos nuestro trabajo  ,pulsando en el  icono del “disquette” o simplemente pulsando  en Guardar.

 

Ahora, tan solo hay que ejecutar la macro que acabamos de crear  y la macro insertará automáticamente  en cada slide  una barra de progreso   de forma que variara  en función del numero de hoja de presentación de menos mas  llegando a su culminación al final de la ppt.

Como aspecto importante  no  debemos olvidar que cada vez que creemos una nueva hoja ,o alteremos el orden de las  hojas, debemos ejecutar la macro que acabamos de crear.

Para  terminar   si queremos almacenar la macro en el Powerpoint al guardar los cambios en la ppt , debemos asegurarnos de que el formato que elijamos (normalmente pptx)  lo permite ,porque si no lo hacemos  al   abrirla nuevamente  aunque la barra de progreso se mantendrá en las slides, la macro no estará y si cambiamos algo no podremos actualizar esta.

No se puede conectar con el servidor IIS Express


Es un problema recurrente a muchos desarrolladores de asp.net con visual studio 2020 ( o versiones anteriores : si intentamos iniciar nuestra aplicación .net core, recibimos este este mensaje “No se puede conectar con el servidor IIS Express” .

Es cierto que hay muchas publicaciones que afirman solucionar este problema, asi  que  pude que haya probado todos los métodos que sugieren y quizas ninguno funcione.

He aqui algunas de esas ideas

  • Si entramos en las propiedades del proyecto bajo depuración y cambiamos el puerto, entonces se conectará 1 vez. Entonces, si intentamos conectarnos de nuevo, nos dará el mismo error otra vez. Luego, puedo volver a cambiar el puerto al original y se cargará una vez, luego fallará más allá de eso, hasta que lo vuelva a cambiar. 
  • Las personas generalmente no tienen idea de cuáles son las configuraciones, por lo que no tienen una manera fácil de saber qué está pasando. Trate de usar Jexus Manager para ver qué pasa y luego la solución puede ser clara, jexusmanager.com/en/latest/tutorials/vs-diagnostics.html
  • Eliminar la carpeta oculta .vs en la carpeta raíz que puede que  resuelva el problema
  • No utilizar IISexpress, lo que puede  evite el problema.

Bien , si se analiza con calma el problema , es posible entender que el puerto que visual studio va a usar  para lanzar la aplicación web en el navegador  haya cambiado por alguna razón ( por ejemplo si ha copiado el directorio de la aplicación al completo) , y ese es el motivo por el  que debido a esa discordancias de los valores del puerto entre IIS y VS de ese error

¿Cómo lo resolvemos? pues siguiendo los mismos pasos que haríamos para   hacer accesible la aplicación desde una IP  y no desde localhost desde el propio equipo de desarrollo

Estos serian los pasos:

1. Averiguamos con qué dirección está visible nuestro equipo desde el exterior
Esto podemos hacerlo con cierta facilidad ejecutando el comando “ipconfig | find “IPv” ” en la terminal (cmd)  .

El número de resultados que veremos ahí dependerá de los adaptadores de red (físicos o virtuales) que tengamos configurados en nuestro equipo. De ellos tendremos que seleccionar la dirección que se encuentre en el rango de red usado por los equipos externos desde los cuales queremos acceder a nuestra web.

2. Localizamos el archivo de configuración de IIS Express del proyecto

Este archivo se llama “applicationhost.config” y en proyectos de Visual Studio se encuentra en una carpeta llamada “.vs\nombre de proyecto\config” que encontramos en el directorio  de la solución, en la subcarpeta del nombre del proyecto  y dentro de ella, en la subcarpeta “config”.

En otros casos, el archivo de configuración se puede  encontrar en la carpeta de configuración de IIS Express de vuestro usuario en el equipo: %userprofile%\documents\iisexpress\config.

3. Localizamos las líneas donde se especifica la URL por defecto del proyecto

En el archivo “applicationhost.config“, debemos localizar la parte de la configuración donde se indica la URL de acceso al proyecto en la máquina local. Por ejemplo, podría ser algo como esto:

<bindings>
<binding protocol=”http” bindingInformation=”*:53980:localhost” />
<binding protocol=”https” bindingInformation=”*:44342:localhost” />
</bindings>

 

Observe que este binding está limitando el acceso a vuestro sitio web, permitiendo únicamente el uso del host “localhost” para acceder al mismo. Para habilitar el acceso desde equipos externos, lo primero que tenemos que hacer es añadir otros bindings con el nombre de host que se utilizará desde fuera.

4. Añadimos a la configuración de IIS Express el nuevo binding con la dirección de nuestro equipo

En la sección de configuración <bindings>, añadimos una nueva línea en la que indicaremos que la aplicación también será accesible utilizando como host nuestra IP, de forma que quedaría más o menos como aparece a continuación.

 Ojo, ¡deberiamos elegir un puerto distinto al que usamos en localhost para que no haya conflictos !

Bien, pues si ahora intentamos ejecutar sin depuración sin permisos de administrador  nos aparecera el error de que no es posible iniciar IIS Express, pero no se preocupe pues este error aparece siempre que no hayamos lanzado Visual Studio como administrador, pues el nivel de permisos del proceso bajo el que se lanza IIS Express no es suficiente como para “apropiarse” de una dirección y puerto TCP/IP del equipo y utilizarla para escuchar peticiones.

En cambio, si iniciamos Visual Studio como administrador veremos que arranca correctamente y que, de hecho, podemos acceder a la aplicación utilizando tanto localhost:44342 como con permisos de administrador 192.168.1.46:44342, lo que quiere decir que, si no existen problemas de permisos, el binding está bien hecho.

 

5. Reservar la URL y conceder permisos de uso (sólo no administradores)

Como hemos comentado antes, este paso no será necesario si estamos ejecutando Visual Studio (y por tanto IIS Express) como administrador. Pero si no es así, debemos abrir una la línea de comandos con permisos elevados y utilizar la siguiente instrucción para reservar la URL y darle derechos de uso a determinados usuarios del equipo, por ejemplo como sigue desde la terminal de windows (cmd)  con permisos de administrador (no lo intente desde PowerShell porque le dara error) :

Pero antes de hacerlo tened en cuenta unos detalles:

  • Primero, la URL debe estar completa, incluida la barra del final.
  • El usuario puede ser cualquier grupo del sistema o nombre de usuario con dominio.
  • Los nombres de grupo son sensibles al idioma de instalación de Windows. Es decir, si vuestro Windows está instalado en inglés, debéis usar el nombre “everyone” en lugar de “todos”.

Tras ejecutar el comando, ya debería ser posible acceder a la aplicación desde el equipo utilizando tanto la URL interna (localhost) como la externa (192…), cada una con su puerto correspondiente.

Pero el acceso externo aún no está garantizado: el firewall impedirá el acceso a no ser que le indiquemos lo contrario.

6. Abrir el firewall

Por defecto, el firewall de Windows rechazará cualquier intento de acceso a la máquina desde el exterior, por lo que debemos configurar una regla de entrada que asegure que las peticiones hacia nuestra web podrán entrar sin que el firewall rechaze ese trafico.

Esto lo podemos hacer desde el interfaz grafico en configuración avanzada en reglas del Cortafuegos  o bien desde la  consola de comandos con permisos de administrador, ejecutando la siguiente orden :netsh advfirewall firewall add rule name=”Acceso externo a mi aplicacion web” dir=in action=allow protocol=TCP localport=44342

Por supuesto, recuerde que:

  • El parámetro localport debe ser el puerto que haya elegido para el acceso externo, el mismo que usamos en el archivo de configuración de IIS Express, y más adelante al reservar la URL.
  • Es conveniente poner un nombre reconocible a la regla, de forma que más adelante podamos identificarla con facilidad.

 

¡Y eso es todo! Si ha llegado hasta aquí, ya podrá ejecutar o depurar vuestra aplicación en Visual Studio, y acceder a ella desde cualquier equipo de la red local usando la dirección que hayas elegido en los pasos anteriores.