2016-08-18 56 views
0

你好我知道我可以使用類似的AppleScript控制操作系統的不同方面如鍵盤輸入:AppleScript的在OS X(MACOS)和低電平C(目標C替代

osascript -e 'tell application "System Events" to key code 45' 

或鼠標點擊:

osascript -e 'tell app "System Events" to click at {100,200}' 

和許多其他功能,如音量增/減,打開/關閉應用程序,請在Web瀏覽器中的URL

現在我認爲我怎麼可能控制這個不AppleScript的在OS X(Mac系統)。一世 考慮一些低級別的API,最好在C中(最終在Objective-C中)可以做類似的事情。我主要對鼠標/鍵盤/鍵盤軟件控制感興趣(例如,如果我將寫虛擬鍵盤),打開應用程序,在應用程序中調用快捷鍵。我想我會在最後使用Applescript並通過C來執行它的腳本。但是我也對C中的更多低級編程和庫感興趣?

從C等其他語言執行這樣的蘋果腳本的最好方法是什麼?我想是這樣

system(osascript -e 'tell application "System Events" to key code 45') 

但也許有像osascript("here cmd");

+0

忘記C爲Mac特定的編程;有趣的事情需要可可,所以使用ObjC。 OS X確實爲ObjC設立了一個Apple事件橋,但這是一堆廢話。最快,最簡單和最可靠的方法是通過AppleScript-ObjC橋直接從ObjC調用AppleScript處理程序。對於直接的圖形用戶界面操作,使用OS X的可訪問API,但避免像鼠疫一樣的GUI自動化,因爲它的可移植性很差,而且非常脆弱和脆弱。根據你在做什麼,你可能會發現像Hammerspoon這樣的現有解決方案是更好的選擇。 – foo

+0

但我可以執行像C系統()等蘋果腳本()等。 –

+0

我認爲Objective-C也可以從C調用?這個Quartz事件服務API https://developer.apple.com/library/mac/documentation/Carbon/Reference/QuartzEventServicesRef/#//apple_ref/c/func/CGEventCreateKeyboardEvent –

回答

0

更好的功能/庫怎麼樣,之前,從AppleScript的去高達C,我通過使用「AppleScript的目標C推薦中途一步「編程語言,它很簡單,因爲你可能擅長applescript,你也可以使用Objective C中更大範圍的代碼,ITS AppleScript在Objective C中! :D 你可以在Xcode中做到這一點!希望這可能會有所幫助:)