Горячая клавиша создания файла в проводнике Windows 7
Всем привет.
Собственно, вопрос в заголовке. Есть ли возможность задать горячую клавишу для создания файла (с расширением txt, но не обязательно) в текущем окне проводника Windows 7? По умолчанию, как я понимаю, такой комбинации нет, или я плохо искал в Google. Знаю комбинацию Alt+Ф, А, Т. Но она не такая «быстрая», работает только на русской раскладке и перестаёт действовать, если какая-то программа заменила в меню «Создать» пункт «Текстовый файл» на что-то своё (например, так сделал Notepad++). Бегать стрелками по контекстному меню папки тоже не очень быстрое занятие. В общем, хочется как Ctrl+Shift+N, но для файла.
Встречал во время поисков эту программу, но разбираться не было времени. Указанный скрипт почему-то не срабатывает, хотя горячую клавишу перехватывает (проверил, добавив показ MessageBox'а в самом начале). Но всё равно спасибо, может завтра с утра разберусь-таки.
Решение найдено. Нужно было в строке №17 заменить «Address:» на «Адрес:», так как у меня Windows на русском языке. Помимо этого, нужно сменить горячую клавишу в строке №5 (если в системе раскладка по умолчанию русская программа выдаст предупреждение, что такая горячая клавиша недостижима в данной раскладке), лучше поставить что-то независящее от раскладки. Например, ^!F5:: (Ctrl+Alt+F5). Также по желанию можно убрать запуск файла, удалив строку №38.
Виктор: Чтобы скрипт работал не зависимо от языка ОС надо в строке №17 вместо "Address" (и вместо "Адрес") написать ".+?". Таким образом строчка целиком будет выглядеть так: FullPath := RegExReplace(FullPath, "(^.+?: )", "").
Подсмотрено здесь: https://github.com/syon/ahk/blob/master/NewFile/Ne...
#( Задача_131602112013
WatchHotKey: "@F" \ Alt+F
\ NoActive
SingleInstance
: GET-WTEXT \ ( hwnd -- a u ) \ Получить текст окна по его хэндлу. Работает и для дочерних окон
PAD 256 ROT 13 SWAP SendMessageA PAD SWAP
;
Action:
ACTIVE-WINDOW WIN-EXIST? DROP
FOR-CHILD-WINDOWS: "ToolbarWindow32"
WIN-CHILD-HWND GET-WTEXT S" :\" SEARCH IF
1+ SWAP 1- SWAP \ Возвращаем пропущенную букву диска
GET-CUR-TIME \ Обновляем время
WIN-INPUT-TEXT: "Создать файл" "Введите имя файла:" "New_file_%hh%_%mm%_%ss%" 0
IF 2DROP ELSE
S" \" 2SWAP S+ S+ FCREATE
THEN
ELSE 2DROP THEN
;FOR-CHILD-WINDOWS
)#
И без окна запроса — например, чтобы сразу создавать файл с каким-то шаблонным именем:
#( Задача_131502112013
WatchHotKey: "@F" \ Alt+F
\ NoActive
SingleInstance
: GET-WTEXT \ ( hwnd -- a u ) \ Получить текст окна по его хэндлу. Работает и для дочерних окон
PAD 256 ROT 13 SWAP SendMessageA PAD SWAP
;
Action:
ACTIVE-WINDOW WIN-EXIST? DROP
FOR-CHILD-WINDOWS: "ToolbarWindow32"
WIN-CHILD-HWND GET-WTEXT S" :\" SEARCH IF
1+ SWAP 1- SWAP \ Возвращаем пропущенную букву диска
GET-CUR-TIME \ Обновляем время
FILE-CREATE: "%1 esPICKS%\Newfile_%hh%_%mm%_%ss%"
ELSE 2DROP THEN
;FOR-CHILD-WINDOWS
)#