哪些事情是 AutoIt 可以而 AutoHotkey 不行的?
01-23
AutoHotkey 和 AutoIt 的主要區別又在哪呢?
註:我想題主真正的問題是 AutoHotkey_L 和 AutoIt3 的區別是什麼?
這個問題沒有多少意義,能實現什麼更多取決於你的能力。它們自身的功能近乎雷同,調用第三方組件的能力是一脈相承的,目前的 AutoHotkey_L 和 AutoIt3 都源自 AutoIt2。如果計劃開始學習腳本,建議任選一種開始學習,即使之後轉換,代價極低。(它們的區別存在許多方面,簡單而言:AutoHotkey 在熱鍵、熱字串方面有所增強,而 AutoIt3 則函數庫更豐富。我個人認為對於腳本新手,兩者任選其一即可,因為你前期的學習讓你了解什麼是腳本,即使在後面轉向另一種也很容易上手的。了解它們的區別除了增加困惑外,沒有其他好處。)對於學習腳本,對學習的方法我有幾個建議:- 如果目的是希望實現某種具體操作,則從寫這個腳本開始,邊看幫助邊修改邊學習,建議選取自己需要卻又簡單的操作開始;
- 如果不是,則可從錄製器開始,先錄製操作代碼邊看邊學習,對於 AutoHotkey 我建議使用Pulover"s Macro Creator(成熟且功能強大的錄製器);
- 如果不喜歡前兩者,則可從許多小例子開始學習,對於 AutoHotkey,小眾的懶人包里的腳本簡單並具有啟發意義,用於新手學習最好不過(用 AutoHotkey_L 執行時可能需稍做修改)。
- Sparrow: AHK WebServer w/ AHK in HTML support (sources incl) - AHK 實現的 Web 伺服器
- A High End Gui Music Player Written in Autohotkey - AHK 實現的音樂播放器
這裡也轉幾張這個播放器的外觀供欣賞:
尺有所長寸有所短,對比其他語言 AutoHotkey 確實有它做不好的地方,但與 AutoIt 系出同門,就目前看來基本上只有語法風格的區別(以後也許 AutoHotkey 會強大些也難說)。------------------------------------------------------------------------------------------------------我這裡補充雪城朋友對於編輯器的回答:
SciTE4AutoHotkey 是專為 AutoHotkey 定製的,語法高亮、智能提示、調用幫助不必說,連調試功能都有。唯一的問題是沒有打包到 AutoHotkey 下載包中,換句話說,下載時除了 AutoHotkey,你還需要多點一次鏈接(在頁面下方):AutoHotkey Downloads如果需要中文幫助,你還需要再點個鏈接(也在同一頁面中),唯此而已。網上也有第三方集大成的打包版,這些工具都在裡面的。可以在 nodejs 中使用,用 javascript 調用 autoit 函數https://www.npmjs.com/package/autoit(利益相關:這個模塊是我寫的)
autohotkey 和 autoit ,往往他們的用戶都會試用另外一款,並最終確定使用其中一個。
autohotkey :
優點:熱鍵支持更方便,語法更簡單一點。有動作錄製器(L 版沒有,可用舊版,或下載第三方)。缺點:需要另外下載編輯器,不然沒有語法提示和高亮,對初學者不方便。
AutoIt :
優點:UDF函數多,很多你遇到的問題都有答案,較 AHK 容易寫出功能更複雜,更強大的程序。缺點:不如 AHK 簡單。兩款都是非常優秀的軟體,AHK 我更喜歡用來解決一些臨時的小問題。AU3 我會用於一些稍微複雜一點的任務。更複雜的.... 還是用更專業的編程工具吧。類似於Perl和Python, 我更看好AutoIT和Python這種規則明確的語言.
AutoIT更重:
語法規則嚴格; 函數庫多到驚喜; 只是沒有下斷點的按鈕; 幫助文檔都是獨立的小文件autohotkey更輕:
莫名其妙的%和:=, 缺乏一致性; 經常空值一頓運算, 你算個毛線啊; 網路編程函數, 控制項函數等庫函數太少了; Editor不錯; 幫助文檔都是片段.比如, 沒看到ahk專門處理SysListViewTree32的函數(誰看見可以告訴我哦).
可以看下李笑來寫的 AU3入門, 很不錯
(摘抄一段: 為了避免歧義與誤解,我們最好稱「=」為賦值符號。很多人嫌麻煩,「固執」地把「=」稱為「等號」,而將來因此造成無數的麻煩以及相當不堪的後果……最可憐的是,當麻煩降臨,後果不堪設想之時,他們全然不知根源竟然在這麼個不起眼的地方。.....以後你會知道,任何一種編程語言,真正強大的地方都在於它們各自的「函數庫」(Library)…… )autoit可以吸引到李笑來, ahk不能, 嘿嘿.直接針對題主的大標題,autoit可以把腳本編譯成exe文件單獨運行,而exe文件可以輕鬆被其他語言調用。換句話說,你用其它語言搞不定的時候,或許可以用autoit弄個exe,然後集成在一起運行
autoit常被數字等國軟誤殺,ahk也是這樣嗎?
推薦閱讀:
※簡體字比繁體字書寫更方便,為什麼台灣人不改用簡體字?
※工程師Coding的時候聽什麼音樂?
※為了節約時間你都有過哪些奇妙的創意?
※既然任何器械都不能省功,那麼為什麼步行比騎車要累?
※這個世上有什麼一勞永逸的事?
TAG:程序員 | 編程 | 效率 | AutoHotkey | AutoIt |