Существует много способов добиться этого, хотя обычно вы можете легко установить AppleScript
или oascript
, которые могут справиться с этим. В основном это связано с использованием AXRaise
, который по сути вызывает функцию для подъема самого верхнего окна указанного приложения.
Код:
set mostrecentWindow to "mostrecentWindow"
set theApplication to "Safari"
tell application "System Events"
if exists process theApplication then
--raise frontmost window
tell process theApplication
set frontmost to true
perform action "AXRaise" of (windows whose title is mostrecentWindow)
end tell
else if not (exists process theApplication) then
--display alert
display alert "Warning: process " & theApplication & " is not running"
end if
end tell
В приведенном выше примере проверяет, является ли процесс или нет запущенных Safari, и если после этого поднять это последняя (или самой передней) окно на передний план; в противном случае вы увидите предупреждение о том, что процесс не запущен.
Спасибо Simon за быстрый ответ. Мне было интересно, если можно не использовать AppleScript, потому что я не думаю, что могу запустить AppleScript из своего кода на C :( – Noitidart
Хм, есть [NSAppleScript] (http://developer.apple.com/library/mac/documentation /Cocoa/Reference/Foundation/Classes/nsapplescript_Class/Reference/Reference.html) Класс, но я не уверен, как использовать это в C. – Simon
А интересно, я буду исследовать это, но похоже, что ему нужен «Вспомогательный режим», enabled :( – Noitidart