OS X 10.8でApplescriptを使用せずにウィンドウを最前面に表示するにはどうすればよいですか


9

ウィンドウ(QuickTimeなど)をフォーカスせずに最前面に表示したい。Applescriptで次のコードを使用して、OS X 10.7でそれを行うことができます。

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
アクセシビリティの役割と属性リファレンス:アクションactions ofアクセシビリティインスペクターを使用して、またはそれを使用して、UI要素がサポートするアクションを確認できます。
Lri 2012

1
OS X 10.10(Yosemite)および10.11(El-Capitan)では、[セキュリティとプライバシー]の[プライバシー]タブの[アクセシビリティ]セクションに呼び出しアプリケーション(AppleScriptを実行するアプリケーション)を追加しない限り、AXRaiseは許可されません。 "システム環境設定パネル。これは、最初にそれを実行しようとすることを意味します-システムUIが表示され、設定に移動するよう提案されます。ユーザー体験での回り道で使用できません。AX(アクセシビリティAPI)を使用せずにウィンドウを上げる別の方法はありますか???
Motti Shneor 2015年

-1

それで、私があなたの投稿から収集したものから、あなたはApplescriptを使用してアプリケーションを表示しようとしているのですか?もしそうなら、マウンテンライオンでのこのコードは実際にはかなり単純です!ここにあります:

tell application "Quicktime Player"
activate
end tell

これがうまくいくことを願っています!ご希望に添えない場合はお知らせください。更新します。:)


2
まあ、アクティブ化はQuicktimeに焦点を当てるので、私が望むものではありません。つまり、Applescriptアプリケーションを開いてコードを入力して実行すると、ウィンドウのフォーカスがQuicktimeに移動します。その結果、たとえばApplescriptウィンドウをクリックする前にコードを入力することはできません。
Yuxiao Zeng
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.