ฉันจะนำหน้าต่างมาที่ด้านหน้าได้โดยไม่ต้องโฟกัสด้วย Applescript ใน OS X 10.8 ได้อย่างไร


9

ฉันต้องการที่จะนำหน้าต่าง (QuickTime ตัวอย่าง) จะมาก่อน, โดยไม่ต้องมุ่งเน้นไปที่มัน ฉันสามารถทำได้ใน OS X 10.7 โดยใช้รหัสต่อไปนี้ใน Applescript

tell application "System Events"
    set visible of process "QuickTime Player" to true
end tell

นี่เทียบเท่ากับ Python

from ScriptingBridge import *
process = SBApplication.applicationWithBundleIdentifier_('com.apple.systemevents').processes().objectWithName_('QuickTime Player')
process.setVisible_(True)

แต่มันไม่ทำงานหลังจากที่ฉันอัพเกรดเป็น OS X 10.8 มีวิธีใดที่จะทำให้มันใช้งานได้?

คำตอบ:


12

หากแอปพลิเคชันมีหน้าต่างที่เปิดอยู่สิ่งนี้ควรยกขึ้นเหนือหน้าต่างจากแอปพลิเคชันอื่น แต่ให้อยู่ต่ำกว่าแอพพลิเคชั่นปัจจุบัน

tell application "System Events"
    perform action "AXRaise" of window 1 of process "QuickTime Player"
end tell

นั่นคือสิ่งที่ฉันต้องการ. ขอบคุณ โดยวิธีการที่ฉันสามารถหาเอกสารของการกระทำหรือไม่
Yuxiao Zeng

1
บทบาทการเข้าถึงและแอตทริบิวต์อ้างอิง: การดำเนินการ คุณสามารถดูว่าองค์ประกอบ UI ของการกระทำใดสนับสนุนactions ofหรือใช้ผู้ตรวจสอบการเข้าถึง
Lri

1
AXRaise ไม่ได้รับอนุญาตใน OS X 10.10 (Yosemite) และ 10.11 (El-Capitan) เว้นแต่คุณจะเพิ่มแอปพลิเคชันการโทร (อันที่ใช้งาน AppleScript) ในส่วน "การเข้าถึง" ของแท็บ "ความเป็นส่วนตัว" แผงการตั้งค่าระบบ ซึ่งหมายความว่าในครั้งแรกที่คุณพยายามทำ - คุณจะได้รับการนำเสนอด้วย UI ระบบที่จะแนะนำให้คุณไปที่การตั้งค่า ฉันไม่สามารถใช้งานได้เนื่องจากมีการอ้อมในการใช้งานของผู้ใช้ มีวิธีอื่นในการยกระดับหน้าต่างโดยไม่ใช้ AX (API การเข้าถึง) หรือไม่?
Motti Shneor

-1

ดังนั้นจากสิ่งที่ฉันรวบรวมจากโพสต์ของคุณคุณกำลังพยายามทำให้แอปพลิเคชันดูโดยใช้ Applescript ถ้าอย่างนั้นรหัสสำหรับสิ่งนี้ใน Mountain Lion นั้นค่อนข้างง่ายจริงๆ! นี่มันคือ:

tell application "Quicktime Player"
activate
end tell

ฉันหวังว่างานนี้! หากไม่ใช่สิ่งที่คุณต้องการแจ้งให้เราทราบและฉันจะอัปเดตให้คุณ :)


2
การเปิดใช้งานจะเน้นที่ Quicktime ดังนั้นจึงไม่ใช่สิ่งที่ฉันต้องการ ฉันหมายความว่าถ้าคุณเปิดแอปพลิเคชัน Applescript ให้พิมพ์รหัสของคุณและเรียกใช้โฟกัสหน้าต่างจะถูกย้ายไปที่ Quicktime เป็นผลให้คุณไม่สามารถพิมพ์รหัสใด ๆ ก่อนที่จะคลิกหน้าต่าง Applescript
Yuxiao Zeng
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.