2012-09-24 4 views
1

나는 어느 정도 수준의 네이티브 윈도우를 사용하고 익숙한 윈도우 관리 버튼과 전체 화면 모드 버튼을 사용하는 것처럼 보이는 몇 가지 자바 기반 애플리케이션을 가지고있다. 그러나, 전통적인 방법을 사용하여 AppleScript에서이 창에 액세스 할 수 없습니다. 이것을 할 수있는 방법이 있습니까?AppleScript에서 Java 응용 프로그램의 기본 윈도우에 액세스합니까?

현재 기본 코코아 응용 프로그램에서 제대로 작동하는 기존 스크립트가 있지만 Java 응용 프로그램 용 Windows에 액세스하려고 시도하면 아무 것도 발견되지 않습니다 (Windows의 수가 0 인 경우).

구체적인 예로 IntelliJ IDEA를 사용하십시오. 개별 윈도우를 조작하기 위해 개별 윈도우에 어떻게 액세스합니까 (최소화 또는 전체 화면 버튼 클릭)?

업데이트 : 다음은 코코아 애플리케이션에서 작동하지만 Java에서는 작동하지 않는 빠른 예제입니다. 나는이 메시지를 다시 얻을이 경우 응용 프로그램이 애플 스크립트 경우 당신이하려는 것처럼 당신이 뭔가를 할 수있는 응용 프로그램을 말할 수있는 유일한 시간이

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

을 찾아야합니다. 일반적으로 응용 프로그램에서 1) 또는 시스템 이벤트를 사용하는 프로세스에서 2) 창을 가져 오는 두 가지 방법이 있습니다. 두 가지 방법으로 얻을 수 없다면, appleescript는 그것을하지 않을 것이며, 아마도 코코아 고유의 윈도우가 아닐 것입니다. – regulus6633

답변

1

"모든 창은 카운트 메시지를 이해하지 않습니다" 예 그것은 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 
+0

흠, 이것은 항상 0으로 되돌아 간다. – Wilco

관련 문제