es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿AHK Always on Top no funciona para el Explorador de archivos de Windows y otras ventanas del sistema operativo Windows?

He estado usando un script AHK Alwaysontop para mantener mis ventanas en la parte superior de otras ventanas.

Aquí está el código en cuestión:

^SPACE:: Winset, Alwaysontop, , A ; ctrl + space
Return
~#!x::Suspend

Funciona perfectamente para prácticamente todas las ventanas que uso, excepto las ventanas basadas en Windows, como el Explorador de archivos, el Administrador de tareas, etc…

¿Cómo puedo hacer que estas ventanas también funcionen con el script?

He utilizado WinSpy para obtener información sobre cosas específicas de Windows antes, pero no estoy seguro exactamente qué buscar aquí, o si hay una solución más simple que pueda hacer que las ventanas basadas en Windows funcionen con el script.

¿Alguna idea?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en Windows, AutoHotkey, Explorador de archivos y teclas de acceso directo, hay algunas formas de abordar este problema:

    1. Intenta utilizar el comando WinActivate antes del comando Winset:
    ^SPACE::
    WinActivate, ahk_class CabinetWClass ; activa la ventana del Explorador de archivos
    Winset, Alwaysontop, , A ; establece la ventana activa para que siempre esté en primer plano
    Return
    

    Esto activará la ventana del Explorador de archivos antes de aplicar el comando Alwaysontop, lo cual podría ayudar.

    1. Usa WinTitle en lugar de ahk_class:
    ^SPACE::
    WinTitle := "Explorador de archivos" ; establece el título de la ventana
    Winset, Alwaysontop, , %WinTitle% ; establece que la ventana con el nombre especificado siempre esté en primer plano
    Return
    

    El uso de WinTitle te permite especificar la ventana por su nombre en lugar de su clase, lo cual podría facilitar la selección de ventanas específicas basadas en Windows.

    1. Usa #IfWinActive para aplicar el comando Alwaysontop solo cuando una ventana específica esté activa:
    #IfWinActive ahk_class CabinetWClass ; se aplica solo cuando el Explorador de archivos está activo
    ^SPACE:: Winset, Alwaysontop, , A ; establece la ventana activa para que siempre esté en primer plano
    #IfWinActive ; desactiva la sensibilidad de contexto
    

    Este enfoque utiliza una tecla de acceso directo con sensibilidad de contexto que se aplica solo cuando una ventana específica (en este caso, el Explorador de archivos) está activa. Esto garantiza que el comando Alwaysontop no afecte a otras ventanas.

    En general, la mejor solución puede depender de las ventanas específicas con las que estés teniendo problemas y la naturaleza del script de Alwaysontop en sí. ¡Espero que estas opciones te den algunas ideas para explorar!

Comments are closed.