1

おなじみのウィンドウ管理ボタンやフルスクリーン モード ボタンさえ備えたネイティブ ウィンドウを (あるレベルで) 使用しているように見える Java ベースのアプリケーションがいくつかあります。ただし、従来の方法を使用して AppleScript からこれらのウィンドウにアクセスすることはできないようです。これを行う方法はありますか?

現在、ネイティブのココア アプリで正常に動作する既存のスクリプトがありますが、Java アプリケーションのウィンドウにアクセスしようとすると、何も見つかりません (ウィンドウの数を数えると 0 に戻ります)。

具体的な例として IntelliJ IDEA を取り上げます。個々のウィンドウにアクセスして操作を実行するにはどうすればよいですか (たとえば、最小化ボタンまたはフルスクリーン ボタンをクリックします)。

更新: ココア アプリケーションで動作する簡単な例を次に示しますが、Java アプリケーションでは動作しません。この場合、「すべてのウィンドウがカウントメッセージを理解していません」というメッセージが返されます

tell application "Safari"
    activate
    set wins to count of windows
    display dialog wins
end tell
4

1 に答える 1

1

あなたがしようとしているようなことをアプリケーションに伝えることができるのは、アプリケーションがアップルスクリプト対応である場合だけです。たとえば、アプリケーションにアップルスクリプト辞書があり、その辞書に必要なコマンドがあります。あなたのJavaアプリケーションがスクリプト化可能であるとは思えないので、そのアプローチは機能しません。

システムイベントはウィンドウコマンドを理解し、多くの場合、プロセスのウィンドウを提供できるため、ウィンドウコマンドが必要なのは幸運です。これを試して。プロセスの名前を必要なプロセスに変更して、それが機能するかどうかを確認してください。そうでない場合は、applescript がお手伝いできることは他にあまりありません。

tell application "System Events"
    tell process "Safari"
        set wins to count of windows
    end tell
end tell
display dialog (wins as text)

参考までに: アプリケーション プロセスの名前を見つける必要がある場合は、これを使用できます...

tell application "System Events" to return name of application processes
于 2012-09-25T15:33:17.627 に答える