Kecuali jika Anda memiliki kebutuhan eksplisit untuk melakukannya dengan cara yang ditunjukkan dalam pertanyaan Anda, saya akan membuatnya lebih sederhana dan gunakan:
tell application "System Events" to set isRunning to exists (processes where name is "Xcode")
if isRunning then set theWindow to (first window of application "Xcode")
Kalau tidak, modifikasi yang ada blok kode dengan cara berikut akan mendapatkan hasil yang sama dengan dua baris kode atas:
tell application "System Events"
repeat with theProcess in processes
if not background only of theProcess then
if name of theProcess is "Xcode" then
tell application "Xcode"
set theWindow to first window of application "Xcode"
end tell
end if
end if
end repeat
end tell
Jika Anda ingin menggunakan dua baris pertama kode dalam jawaban saya di manned yang lebih tokenized, sebagai contoh, gunakan:
set appName to "Xcode"
tell application "System Events" to set isRunning to exists (processes where name is appName)
if isRunning then set theWindow to (first window of application appName)
Maka semua yang perlu Anda lakukan adalah mengatur appName
ke aplikasi target di baris pertama kode dan dua baris kode mengikutinya berdiri apa adanya dan tidak perlu diedit untuk digunakan dengan nama aplikasi lainnya.
isRunning
kata kunci?isRunning
bukan sebuah kata kunci , ini a variabel , yang diatur ke salah satutrue
ataufalse
tergantung pada apakah prosesnya ada. Jika Anda tidak ingin nama jendelanya, apa yang Anda inginkan?