2012-11-15 51 views
4

我有一個LiveCode應用程序,作爲更大用途的一部分,檢查「最前面」應用程序的名稱(即菜單欄中的名稱) 。我有LiveCode通過shell運行此:Osascript - 從守護進程運行時的語法錯誤(LiveCode應用程序)

osascript -e 'tell application "System Events" to return name of every process whose frontmost is true' 

它時,應用程序作爲一個正常的過程中運行,但是當它被launchctl作爲守護進程啓動,這是行不通的正常工作。我得到錯誤

61:68: Syntax error: expected classname but found identifier (-2741).

就像我說的,它只發生在應用程序作爲守護進程運行時。任何想法爲什麼?

BTW:OS X 10.7.4

回答

0

不知道這仍然是一個問題,但如果它是這將是一個相當瑣碎的外部寫。基於這樣的東西:

for (NSRunningApplication *currApp in [[NSWorkspace sharedWorkspace] runningApplications]) { 
     if ([currApp isActive]) { 
      // return whatever property you want here 
     } 
    } 
0

確保腳本的所有者是系統或根,而不是您。您可以使用chown命令行實用程序來執行此操作(Mac OS X中包含此功能)。 10.7和更高版本對權限比較挑剔。

相關問題