Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

Tutorial: How to compile .AHK files include your own icons


  • Please log in to reply
1 reply to this topic
deleyd
  • Members
  • 64 posts
  • Last active: Sep 27 2011 06:35 AM
  • Joined: 08 Mar 2008
I recently released my BatteryDeley laptop low battery alert and had a bit of figuring out how to get my own icons into the compiled .exe file. While I still remember how, I'm writing it down here for others.

Update (March 2011): The new AutoHotkey requires an addition to the code to set the tray icon:
;set tray icon
if A_IsCompiled
  Menu, Tray, Icon, %A_ScriptFullPath%, -159

Pre-Lesson Preparation[*:3vjhgb3z]Install Compile_AHK_II[*:3vjhgb3z]Download program Compile_AHK II and install.
Download from:
<!-- m -->https://ahknet.autoh... ... _Setup.exe<!-- m -->
The related forum post is: Compile_AHK II - for those who compile!
<!-- m -->http://www.autohotke...pic.php?t=22975<!-- m -->[*:3vjhgb3z]Download the testicons.zip and extract the files.
<!-- m -->https://ahknet.autoh... ... ticons.zip<!-- m -->[/list]

Lesson 1: The Default Icons
[*:3vjhgb3z]Right-click on TestIcons.ahk, select "Compile with options"

[*:3vjhgb3z]Select the 'Icons' tab
(If the text is German, and you're not fluent in German, select the 'Sprache' combo box on the far right of the tabs and choose "en-us")

Posted Image

You get 7 icons. Leave them all blank for now.

[*:3vjhgb3z]Click 'Compile' (lower left)

[*:3vjhgb3z]Find and run your resulting TestIcons.exe program.
Notice the AutoHotkey 'H' icon in the system tray. Right-click it and select 'About'

Posted Image

These are the 7 default icons you get (notice there is no Icon8):

Posted Image

Lesson 2: Add Our Own Icon

Update (March 2011): The new AutoHotkey requires an addition to the code to set the tray icon:
;set tray icon
if A_IsCompiled
  Menu, Tray, Icon, %A_ScriptFullPath%, -159
Recompile and this time add our own icon.
[*:3vjhgb3z]Right-click on TestIcons.ahk and select "Compile with options"
[*:3vjhgb3z]Select the 'Icons' tab
[*:3vjhgb3z]Check the box for the first one and select file battery_16x16.ico

Posted Image

[*:3vjhgb3z]Click 'Compile' (lower left)
[*:3vjhgb3z]Find and run your resulting TestIcons.exe program.
Notice the battery icon in the system tray. Right-click it and select 'About'

Posted Image

Posted Image

Lesson 3: Creating a Multiple-Icon .ICO file

It's possible for an .ICO file to have different sizes of (usually) the same icon.
For example, an ICO icon file can have a 16x16 image and also a 32x32 image.

To create a .ICO file with both a 16x16 image and also a 32x32 image:

[*:3vjhgb3z]Download & install the free program Icon Sushi
<!-- m -->http://www.towofu.net/soft/e-aicon.php<!-- m -->
[*:3vjhgb3z]load file battery_16x16.ico
[*:3vjhgb3z]load file battery_32x32.ico
[*:3vjhgb3z]select both,

Posted Image

[*:3vjhgb3z]FILE -> SAVE AS MULTIPLE ICON
save it as battery16+32.icoWe can check our new icon file by loading it into IrfanView
and clicking the Previous Page / Next Page buttons:

Posted Image

Posted Image



Lesson 4: Add Our Own Multiple-Icon .ICO file

Recompile and this time add the new icon we just created.
[*:3vjhgb3z]Right-click on TestIcons.ahk, select "Compile with options"
[*:3vjhgb3z]Select the 'Icons' tab
[*:3vjhgb3z]Check the box for the first one and select battery16+32.ico (the .ico file we just created in the previous step)

Posted Image

[*:3vjhgb3z]Click 'Compile' (lower left)
[*:3vjhgb3z]Find and run your resulting TestIcons.exe program.

https://ahknet.autoh...testicons11.gif

Notice the small 16x16 size icon is used for the system tray, while the larger 32x32 size icon is used where 32x32 size is needed. Both are in battery16+32.ico. Which one gets used depends on what size is needed.
Lesson 5: Add A Duck Icon

Recompile and this time add both the new icon we just created and the duck icon.
[*:3vjhgb3z]Right-click on TestIcons.ahk, select "Compile with options"
[*:3vjhgb3z]Select the 'Icons' tab
[*:3vjhgb3z]Check the box for the first one and select battery16+32.ico
[*:3vjhgb3z]Check the box for the second one and select duck.ico

https://ahknet.autoh...testicons12.gif

[*:3vjhgb3z]Recompile and run

https://ahknet.autoh...testicons13.gif

Epilogue

And now you can check the TestIcons.ahk source code to see how the icons are accessed.


—David Deley
<!-- m -->http://members.cox.net/deleyd/<!-- m -->

Originally posted as:
<!-- m -->http://www.autohotke...pic.php?t=41058<!-- m -->
Moved to Scripts & Functions when I updated it for the new unicode version of AutoHotkey (March 2011)


shajul
  • Members
  • 571 posts
  • Last active: Aug 01 2015 03:45 PM
  • Joined: 15 Sep 2006
Nice tutorial, definitely useful.
Did you notice Icon Group 230? That can only be replaced in Autohotkey.bin i guess.
If i've seen further it is by standing on the shoulders of giants

my site | ~shajul | WYSIWYG BBCode Editor