Applescript запуск Spotlight? - PullRequest
       8

Applescript запуск Spotlight?

1 голос
/ 03 августа 2011

Я попытался использовать следующее, чтобы открыть окно поиска Spotlight:

tell application "System Events"
    keystroke " " using {command down}
end tell

Он просто пытается выдать командное пространство.Это работает, но если я сохраню сценарий как приложение и запусту его, появится окно Spotlight, а затем сразу исчезнет.

Почему это происходит и что я могу сделать, чтобы окно Spotlight было открыто?

В качестве альтернативы: Как открыть окно поиска Spotlight с помощью Applescript?

Ответы [ 2 ]

1 голос
/ 04 августа 2011

Ваш скрипт открывает меню Spotlight . Сочетание клавиш для открытия окна Spotlight - это команда * опция + + пробел ...

tell application "System Events" to keystroke space using {command down, option down}

ОБНОВЛЕНИЕ: Учитывая ваш пересмотренный ответ, я составил небольшой сценарий, который должен делать то, что вы хотите ...

set the searchText to the text returned of (display dialog "Enter the name of an item you wish to search for in Spotlight:" default answer "")
tell application "System Events"
    keystroke space using {command down}
    keystroke the searchText
    --[1]
end tell

В [1] вы можете сделать одно из следующих действий:

  • Открыть верхний хит:

    keystroke return using {command down}
    
  • Переместить выделение на первый элемент в следующей категории:

    keystroke (ASCII character 31) using {command down} --down arrow
    
  • Переместить выделение на первый элемент в предыдущей категории:

    keystroke (ASCII character 30) using {command down} --up arrow
    
  • Переместить выделение на первый пункт во всем меню:

    keystroke (ASCII character 31) using {control down}
    
  • Переместить выделение на последний пункт во всем меню:

    keystroke (ASCII character 30) using {control down}
    
0 голосов
/ 06 февраля 2017

Просто добавьте задержку.

     tell application "System Events"
         keystroke " " using {command down}
         delay 5
         delay 5
     end tell

Или для защиты от взлома:

...