2010-07-22 47 views
3

如何在C/C++中將另一個應用程序的窗口置於Mac前面? 我有應用程序的PID。 我找到了AppleScript的解決方案,但我不熟悉AppleScript。 (也沒有與目標C) 謝謝!將另一個應用程序的窗口置於C中的前面C

編輯:我不能在這個程序中使用碳,因爲它必須是一個64位二進制。 edit2:我也對碳和可可解決方案感興趣。我可以把它放到exernal 32位應用程序中來使用Carbon。

回答

1

你可以這樣說:

#include <stdlib.h> 

system("osascript -e \"tell application \\\"Address Book\\\" to activate\""); 

這也將啓動應用程序(地址簿在這個例子中),如果它尚未運行。

+0

謝謝!問題是它似乎並沒有把它帶到前面。如果它沒有運行,它會啓動它,但它仍然在我的窗口後面。 (好吧,Photoshop的窗口,我正在寫一個插件,我不認爲Photoshop的窗口是最頂層的) – darklon 2010-07-22 21:37:00

+0

@Cornelius:那聽起來像是Photoshop的怪癖 - 然後我從終端測試了它,它的行爲如預期 - 你有什麼樣的模式窗口或對話框? – 2010-07-22 21:40:17

+0

它似乎與地址簿一起工作。我不知道這個其他應用程序如何顯示它的窗口,它可能是一個模態對話框。 – darklon 2010-07-22 22:04:20

相關問題