Cara mempertahankan fokus di jendela aplikasi dengan AppleScript


2

Saya mencoba meluncurkan aplikasi pemindai saya menggunakan AppleScript. Saya sudah meluncurkan aplikasi Printer dan saya tahu cara mengirim perintah keystroke tetapi ketika jendela Printer terbuka itu tidak memiliki fokus di Finder sehingga keystroke yang saya kirim tidak berfungsi kecuali saya sudah memiliki jendela printer terbuka dan fokus. Bagaimana cara mengatur fokus Finder ke jendela saya sehingga akan mendengar penekanan tombol?

Ini kode saya:

tell application "System Events"
  tell application "Canon MX510 series" to activate
  key code 20 using command down
end tell

Apakah keystroke masuk ke Finder atau ke seri Canon MX510?
Arc676

Jawaban:


1

Coba kirim perintah Aktifkan di luar kirim System Event, itu akan menjadi metode standar.

tell application "Canon MX510 series" to activate
my testAppRunning()
tell application "System Events"    
    key code 20 using command down
end tell

on testAppRunning()
    set test to 0
    repeat while test = 0
        log test
        tell application "System Events" to set test to count (every process whose name is "Canon MX510 series")
        delay 2
        --/*we do this even if active because it doesn't naturally come to front*/
        try
            tell application "Canon MX510 series" to activate
        end try
        if (test > 0) then exit repeat
    end repeat
end testAppRunning

Ini tidak ada bedanya bagi saya menggunakan Google Chrome (saya tidak menginstal "seri Cannon MX510"). Menempatkan tell application "Google Chrome" to activatedi dalam tell application "System Events"blok atau masih tidak mengaktifkan Chrome dan mengirimkan penekanan tombol.
aglasser

Apakah itu sudah berjalan? Saya berpikir jika tidak, mungkin perlu memeriksa kapan prosesnya berjalan .. skrip di-tweak untuk memastikan aplikasi berjalan & paling depan ...
Tetsujin

Dengan Chrome tidak berjalan, kode OP berfungsi
aglasser
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.