También estaba bastante cansado de este estúpido mensaje, así que hice mi propio Autohotkey Script, con algunas ideas nuevas.
No quería un temporizador permanente o el comando "while" comiendo recursos todo el tiempo. Como siempre uso F2 para cambiar el nombre de los archivos, he creado una tecla de acceso rápido para agregar una función especial a esta tecla. Por lo tanto, el temporizador solo se activa al presionar esta tecla y se apaga cuando se completa la tarea.
También he considerado que solo quiero que mi script afecte a este cuadro de diálogo en particular. Tener en cuenta solo el nombre no fue suficiente, porque el mismo diálogo de cambio de nombre aparece cuando intenta cambiar el nombre de un elemento en el menú de inicio, por ejemplo.
Entonces, hay algunas condiciones para que esta función funcione. Primero, funcionará en las ventanas del Explorador y en el escritorio de Windows. Con el resto de los programas o entornos, F2 continuará funcionando normalmente. Además, para evitar conflictos como el mencionado anteriormente, el script verifica el ancho y la altura de la ventana de diálogo de cambio de nombre para verificar que coincida.
Finalmente, también he incluido la función de seleccionar automáticamente el nombre completo del archivo (junto con la extensión, como antes de Windows 7), porque lo prefiero de esta manera. Siéntase libre de eliminar la línea Enviar ^ + {end} si no la desea.
Para las versiones en inglés de Windows, deberá cambiar "cambiar nombre" a lo que esté en el título de la ventana de diálogo de cambio de nombre. Además, cambie la "s" con una "y". En caso de que no funcione, también puede usar Autoit3 Window Spy para verificar que su ventana de diálogo de cambio de nombre realmente tenga este tamaño (if (warnw = 515) y (warnh = 154).
#SingleInstance force
GroupAdd, folders2, ahk_class CabinetWClass
GroupAdd, folders2, ahk_class WorkerW
GroupAdd, folders2, ahk_class ExploreWClass
GroupAdd, folders2, ahk_class Progman
return
$F2::
if ( Winactive("ahk_group folders2") )
{
Send {F2}
Send ^+{end}
settimer, renombrar, 20
return
}
Else
{
Send {F2}
Return
}
renombrar:
WinWaitActive, Cambiar nombre ahk_class #32770
WinGetPos,,, warnw, warnh, Cambiar nombre
if (warnw = 515) and (warnh=154)
{
send, s
click up left
settimer, renombrar, off
return
}
Else
{
settimer, renombrar, off
return
}