Applescript çalıştırıldığında her şey için yeni bir pencere açar


-1

Aşağıdaki kodu tweetbot açmak ve yeni bir tweet oluşturmak için tweetbot klavye kısayolu için yaptım.

on run {input, parameters}
    activate application "Tweetbot 2"
        tell application "System Events" to keystroke "n" using command down
    return input
end run

Ancak, arka planda da çalışan her şey için daima yeni bir pencere açar. Bu yalnızca, Tweetbot zaten çalışmıyorsa gerçekleşir.

Bunu nasıl düzeltebilirim?


Neyin yeni bir penceresi açılıyor? AppleScript Editör, Tweetbot?
nohillside

Zaten ne işliyorsa .. Eğer otomator kullanılıyorsa yeni bir elmalı metin editörü açar, eğer safari kullanılıyorsa yeni bir safari penceresi açar
Render

Yanıtlar:


-1

Bunun nedeni, uygulamanın ön planda olmamasıdır.

activateUygulama script değilken komut uygulamanın yanıtını beklemeyecek. Böylece komut dosyası derhal keystrokekomutu çalıştırır , bu nedenle keystrokebaşka bir uygulama tarafından ele geçirilecektir.

activate application "Tweetbot 2"
tell application "System Events"
  tell process "Tweetbot 2"
      repeat until exists
          delay 0.4
      end repeat
      set frontmost to true
      delay 0.2
      keystroke "n" using command down
  end tell
end tell

Teşekkür ederim @ jackjr300, ama kod sadece sonsuz çalışıyor ve durmuyor ... tweetbotu ön plana koyuyor ama gerçekten yeni bir tweet istemiyor! Lütfen kullandığın komutları açıklar mısın? Ben otomat kullanarak komut dosyası nasıl öğrenmeye çalışıyorum
Render

Bunun nedeni işlem adının uygulama ile aynı olmamasıdır. " Tweetbot 2 " adında bir Mac OS X uygulaması bilmiyorum . Mac App Store'da adı " Tweetbot ". İşleminizin adını bu komut dosyası ile kontrol edin: tell application "System Events" to name of processeseditörde uygulayın, sonuca bakın. --- komutların açıklaması: işlem var olana kadar bekle, işlemi ön plana koy, tuşa bas.
jackjr300
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.