打造獨特的EXE檔案:在AutoIt編譯時加上圖示 / Compile AutoIt into an EXE file with specific Icon
哈嚕~~我是非常喜歡為各個網站加入特製腳本跟樣式表、讓網站用起來更順手的布丁。今天要來介紹的是如何為AutoIt編譯的exe檔案指定特定圖示的做法。做法很簡單,只要在開頭加上「#pragma compile(Icon, 'icon.ico')」語法即可。讓我們以archive-util-7z.au3為例子,看看怎麽在AutoIt程式裡面加上指定圖示的語法吧。
AutoIt預設編譯圖示 / Default icon of AutoIt's exe file
預設AutoIt所編譯的exe檔案,並不帶圖示。產生出來的exe並沒有鑑別度,不能看圖示來判斷這是什麼程式,只能看檔案名稱而已。
雖然AutoIt的Aut2Exe裡面有Custom Icon的選項,可以讓我們將AutoIt的原始碼au3轉換成exe時,加入特定的ico格式圖示檔案。不過開發AutoIt的au3檔案時,我們通常是在SciTE-Lite編輯器裡面進行編輯和編譯等工作。如果還要額外開啟Aut2Exe才能加入圖示,那就會拖慢開發效率了。
還好,AutoIt提供了直接在程式裡面加入圖示的語法,這樣子我們就能在編輯器裡面直接編譯,不用再勞煩Aut2Exe了。
在AutoIt中加入指定圖示的語法 / Compile AutoIt with specific icon
如果想要讓AutoIT的程式碼 (副檔名為au3) 在編譯時能夠產生具有特定圖示的exe執行檔,那只要在程式碼開頭加上一段語法:
#pragma compile(Icon, 'icon.ico')
紅字黃底的地方是.ico格式圖示檔案的路徑,可以用跟此au3檔案的相對路徑來表示。
舉例來說,我在archive-util-7z.au3中加入圖示的語法如下:
#pragma compile(Icon, 'icons/7zip.svg.ico')
這個檔案我把它轉換成PNG格式之後呈現如下:
(圖示來源:Icons)
編譯成EXE檔案之後,呈現結果如下:
最後就能產生帶有獨特圖示的exe執行檔了。
圖示檔的選擇 / How to choose icon?
(網頁截圖:findicons)
瞭解了AutoIt如何加上圖示之後,接下來我們可以來想想要加入什麼圖示。這邊我推薦大家可以先到開放自由的findicons圖示圖庫找尋合適的圖示:
- findicons: https://findicons.com/
為什麼選擇findicons呢?這是因為AutoIt所編譯的exe檔案是在Windows環境下運作,而早期的Windows (包括Windows 7)會用到的圖示解析度大概只有32x32、16x16。許多圖示圖庫網站所收錄的高解析度圖示,在Windows環境中縮小來看,反而會變得更為模糊。
findicons提供了「Filter Menu」,可以篩選圖示尺寸(Size Range),這可以讓我們很輕易找到32px大小以下的圖示。
此外,findicons的很多圖示也同時提供了ICO格式的下載檔案,省下檔案格式轉換的手續。
最後findicons最重要的特色,就是大部分圖示都是開放授權,可以免費自由下載與使用。每個圖示的授權條款可能不大相同,以7Zip icons, free icons in QUIET, (Icon Search Engine)這個圖示為例,作者Tidav為它設定的授權為Freeware 自由軟體,表示大家可以安心下載與使用。
如何將圖片轉換成ico圖示檔格式 / How to convert image to ico format
AutoIt只能接受ico格式的圖片。如果你手邊的圖片格式不是ico,那就得要透過其他方法來將圖片轉換成ico格式。我在Windows本機端常用的圖片檢視器XnView MP可以將主流圖片格式轉換成ico格式,不過其實這件事情也不需要特地安裝軟體,只要使用線上的轉換器就可以做到了。
(網頁截圖:Convertio)
- Convertio: https://convertio.co/png-ico/
這邊我推薦大家使用的是Convertio。介面美觀,操作直覺,簡單易用。
我們可以直接把想要轉換的圖片拖曳到Convertio網頁上。
拖曳上去的圖片會加入待轉換的列表中,請按下右下角的「Convert」按鈕。
稍待片刻。
很快就轉換好了,接下來按「Download」就可以取得ico格式的圖檔囉。
結語 / In closing
這篇講的事情其實很小,可以用「AutoIt裡面加入『#pragma compile(Icon, 'icon.ico')』語法就能在編譯時加入圖示」一句話來解決。
那為什麼我要寫這篇呢?
這是因為我常常忘記這個語法,而直接Google搜尋,又常常會找到一些似是而非的語法,像是「Adding an icon for executable?」的「#AutoIt3Wrapper_icon=your_icon.ico」,這個語法實際上沒有效果。其他網頁也很少看到正確的加入圖示語法。找來找去,最後我還是得回去翻以前寫的au3程式碼。
最後我終於忍不住了,還是把這件事情寫成一篇文章。希望未來直接Google就能找到AutoIt加入圖示的正確教學,造福AutoIt的開發者吧。
那麼這次為AutoIt加上圖示的教學就到這裡了。寫到最後,我有些問題想問問大家:
- 你用過AutoIt開發程式嗎?你都是怎麽把exe執行檔加上圖示呢?
- 你最常用的圖示資料庫是什麼呢?你覺得它哪裡好用呢?
歡迎在下面的留言處跟我們分享你的想法。大家的意見是我繼續分享的動力喔!如果你覺得我這篇實用的話,請幫我在AddThis分享工具按讚、將這篇分享到Facebook等社群媒體吧!
感謝你的耐心閱讀,我是布丁,讓我們下一篇見。