필자가 작성한 2 개의 애플리케이션이 있습니다. 10 초 후에 자동으로 전체 화면이 나타납니다. 그 전에는 적절한 디스플레이에 보내야합니다. 완벽하게 나를 위해 작동듀얼 모니터에 applescript가있는 윈도우 배치
do shell script "cd /Applications/app_1.app/Contents/MacOS/ ; open app_1;"
: "APP_1는"디스플레이 1에 실행해야합니다, "APP_2는"나는이 코드를 가지고, 본질적으로 표시 2.
에서 실행해야합니다. 두 앱 모두 그런 식으로 출시되며 앱이 아직 열리지 않았는지 확인하고 해당 앱이있는 경우 닫을 수있는 코드가 있습니다. 이 시작된 후 바로
나는 응용 프로그램을 배치하는 스크립트를 추가하려고 :do shell script "cd /Applications/app_1.app/Contents/MacOS/ ; open app_1;"
tell first window of application "app_1" to set bounds to {0,0,1920,1080}
이 나에게 오류 제공 :
app_1 got an error: Can't set bounds of window 1 to {0,0,1920,1080}
나는 몇 초간의 지연 전을 추가하는 시도를 set bounds
은 응용 프로그램이 실행되지 않았을 때 set bounds
이 실행되지 않았을 때 실행되었지만 아무런 변화가 없었습니다.
{100,100,200,200}
과 같은 경계를 설정해 보았습니다. 화면 좌표가 잘못되었거나 오류가있는지도 확인했지만 원래 1920x1080 좌표 대신 {100,100,200,200}
과 동일한 오류 만있었습니다.
누구든지이 사실에 대해 통찰력을 갖고 있습니까? 나는 2 시간 동안 Google에 해결책을 찾아내는 것을 지금 시도하고있다.
이것은 어리석은 질문 일 수 있지만 앱이 실제로 "첫 번째 창"에 응답하고 창이 실제로 "경계 설정"에 응답합니까? 즉, 앱이 이미 실행 중일 때 수동으로 동일한 "tell"행을 실행하면 작동합니까? – abarnert
응용 프로그램이 이미 실행 중일 때 수동으로 수행 할 때도 여전히 동일한 오류 메시지가 표시됩니다. – BumbleShrimp
OK, 다음 두 부분으로 나눕니다. 응용 프로그램 "app_1"에 첫 번째 창으로 알려주면 어떨까요? 그것도 실패합니까? 그렇다면 앱이 창을 스크립팅에 노출시키지 않습니다. (예를 들어, 코드를 작성했거나 AIR 주장이 자동으로 발생하기 때문에) 정상적으로 작동한다고 생각되면 수정해야합니다. 작동을 기대할 필요가없는 경우 UI 스크립팅 (즉, 보조 액세스를 사용하도록 설정해야 함)을 사용해야합니다. – abarnert