À moins que vous n'ayez un besoin explicite de procéder de la manière indiquée dans votre question, je m'en tiendrais à une approche beaucoup plus simple et à l'utilisation :
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")
Sinon, la modification de votre bloc de code de la manière suivante obtiendra le même résultat que les deux lignes de code ci-dessus :
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
Si vous voulez utiliser les deux premières lignes de code dans ma réponse dans une utilisation plus symbolique de l'homme, à titre d'exemple :
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)
Ensuite, tout ce que vous avez à faire est de définir appName
à l'application cible dans la première ligne de code et les deux lignes de code à la suite de ce qui précède et n'ont pas besoin d'être modifiés pour être utilisés avec d'autres noms d'applications.