3

Я абсолютно нуб, когда дело доходит до скриптов AutoHotkey, предел моих знаний заключается в открытии папки с комбинацией клавиш.

Есть одна особенность Mac, которой я всегда завидовал - функция пробела для открытия файла (я думаю, что она называется Preview). Можно ли настроить скрипт AutoHotkey для открытия файла с определенной программой? В частности, я хотел бы иметь возможность нажимать Ctrl + Enter и открывать файлы с помощью Picasa Photo Viewer (очевидно, это не так продвинуто, как Preview, но в любом случае большинство из того, что я хочу предварительно просмотреть, - это PSD-файлы).

Exe Photoviewer находится здесь с установкой по умолчанию: C:\Program Files (x86)\Google\Picasa3\PicasaPhotoViewer.exe

Спасибо!

РЕДАКТИРОВАТЬ: Я нашел это, но это не полностью соответствует моим потребностям. Мне нужно иметь возможность выбрать файл в проводнике Windows и просто нажать Ctrl + Enter, чтобы открыть выбранный файл.

Run, wordpad my.txt

1 ответ1

1

AutoHotkey не взаимодействует с проводником Windows. Тем не менее, мы можем использовать буфер обмена, чтобы преодолеть это.

Сценарий

^Enter::
    Backup := ClipboardAll
    Clipboard = 
    SendPlay, ^c
    ClipWait, 1
    Type := FileExist(Clipboard)
    If Type = A
        Run, "C:\Program Files (x86)\Google\Picasa3\PicasaPhotoViewer.exe" %Clipboard%
    Clipboard := Backup
return

Горячий это работает

  • ^Enter:: ... return указывает горячую клавишу, где ^ - это Ctrl, а Enter - это Enter.

    Если нажата, ... выполняется.

  • Backup := ClipboardAll выполняет резервное копирование всех данных, хранящихся в буфере обмена (All также включает нетекстовые данные, такие как, например, снимки экрана).

  • Clipboard = очищает буфер обмена, поэтому мы можем проверять, когда что-то копируется в него.

  • SendPlay, ^c имитирует нажатие комбинации клавиш Ctrl + C, чтобы скопировать текущий файл в буфер обмена.

    В результате переменная Clipboard теперь содержит имя файла.

  • ClipWait, 1 ждет до одной секунды, пока в буфер обмена не будут включены какие-либо данные.

  • Type := FileExist(Clipboard) и If Type = A проверяют, указывает ли содержимое буфера обмена на фактический файл.

  • Run, "C:\Program Files (x86)\Google\Picasa3\PicasaPhotoViewer.exe" %Clipboard% откроет выбранный файл в Picasa.

  • Clipboard := Backup восстанавливает исходные данные буфера обмена.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .