Byłem też dość zmęczony tą głupią wiadomością, więc stworzyłem własny skrypt Autohotkey z nowymi pomysłami.
Nie chciałem stałego osadnika ani polecenia „podczas” jedzenia posiłków przez cały czas. Ponieważ zawsze używam F2 do zmiany nazw plików, utworzyłem skrót, aby dodać specjalną funkcję do tego klawisza. W związku z tym licznik czasu jest uruchamiany tylko po naciśnięciu tego klawisza i gaśnie po zakończeniu zadania.
Rozważyłem również, że chcę, aby mój skrypt wpływał tylko na to okno dialogowe. Biorąc pod uwagę samą nazwę, nie wystarczyło, ponieważ ten sam dialog zmiany nazwy pojawia się na przykład podczas próby zmiany nazwy elementu w menu Start.
Istnieją więc pewne warunki do działania tej funkcji. Po pierwsze, będzie działał w oknach Eksploratora i na pulpicie Windows. W przypadku pozostałych programów lub środowisk F2 będzie nadal działać normalnie. Ponadto, aby zapobiec konfliktom, takim jak wspomniane wyżej, skrypt sprawdza szerokość i wysokość okna dialogowego zmiany nazwy, aby sprawdzić, czy jest on zgodny.
Na koniec włączyłem również funkcję automatycznego wybierania całej nazwy pliku (wraz z rozszerzeniem, jak przed Windows 7), ponieważ wolę to w ten sposób. Usuń linię Wyślij ^ + {end}, jeśli jej nie chcesz.
W przypadku angielskich wersji systemu Windows musisz zmienić „cambiar nombre” na cokolwiek, co znajduje się w tytule okna dialogowego zmiany nazwy. Zmień także „s” na „y”. W przypadku, gdy to nie działa, możesz również użyć programu Autoit3 Window Spy, aby sprawdzić, czy okno dialogowe zmiany nazwy ma rzeczywiście ten rozmiar (if (warnw = 515) i (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
}