두 번째 모니터 (Mavericks, 두 번째 데스크톱)에서 포 그라운드 애플리케이션을 가져 오려고합니다. 다음은 포 그라운드 애플리케이션 만 가져 오는 내 코드입니다.
tell application "System Events"
set frontApp to name of first application process whose frontmost is true
end tell
특정 데스크톱 / 화면에서 애플리케이션을 가져 오도록 변경하려면 어떻게해야합니까?
나는 당신이 원하는대로 할 수 있다고 생각하지 않습니다. frontApp의 속성을 보면 어떤 화면에 있는지 나타내는 속성이 없습니다. 그러나 할 수있는 일은 응용 프로그램 창의 위치를 확인하는 것입니다. 프로세스 창의 속성을 가져 오면 "위치"속성이 있음을 알 수 있습니다. 이 좌표를 확인하여 어느 화면에 있는지 확인할 수 있습니다.
예를 들어, 2 개의 화면이 있습니다. 내 노트북이 기본 화면으로 설정되었습니다. 메인 화면의 화면 해상도가 1680x1050이라는 것을 알고 있습니다. 따라서 창을 확인하고 해당 좌표를 벗어난 위치에 있으면 두 번째 모니터에 있어야한다는 것을 알 수 있습니다. 내가 할 수있는 방법은 다음과 같습니다.
참고 : 두 번째 모니터에 창이있는 응용 프로그램은 알 수 있지만 요청한 것처럼 두 번째 모니터의 어떤 응용 프로그램이 맨 앞에 있는지는 알 수 없습니다. 당신은 그것을 위해 다른 것을 알아 내야 할 것입니다. 나는 당신이 당신의 상황에 대해 실행 가능하게 만들 수 있다는 생각으로 이것을 보여주고 있습니다.
여기에서는 두 번째 모니터에 창이있는 첫 번째 응용 프로그램 만 가져옵니다. 이것은 당신에게 아이디어를 보여줄 것이며 필요에 따라 코드를 조정할 수 있습니다.
set mainScreenResX to 1680
set mainScreenResY to 1050
tell application "System Events"
set firstFoundAppOnSecondScreen to missing value
set visibleApps to application processes whose visible is true
repeat with visibleApp in visibleApps
try
tell visibleApp
set {x, y} to position of window 1
if x > mainScreenResX or x < 0 or y > mainScreenResY or y < 0 then
set firstFoundAppOnSecondScreen to name
exit repeat
end if
end tell
end try
end repeat
return firstFoundAppOnSecondScreen
end tell
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다