TrayTip can show your current tray icon in the notification by adding 4 (NIIF_USER) to the options. This should work on any AutoHotkey version running on XP SP2 or later, but hasn't yet been noted in the AutoHotkey documentation. Note that if you change the tray icon after calling TrayTip, it should not affect the TrayTip (so you can show different icons).
On Vista and later, adding 0x20 (NIIF_LARGE_ICON) will show a large version of the icon. However, it requires the program to specify the icon, so only works with the stock icons (options 1, 2 and 3) in current AutoHotkey versions.
On Windows 10, the "toast" notification always shows a large icon even if this flag isn't set, but if the flag is not set, it upscales the small icon (usually 16x16) to the large icon size (usually 32x32), so looks terrible. If you don't specify an icon option, it uses the application icon (whereas previous OS versions would not show any icon).
New to this test release:
If TrayTip option 0x24 is used, the large version of the tray icon is shown in the notification.
On Windows 10, the 0x20 option is added automatically. If no icon option was specified, the current executable's main icon is used (not necessarily the tray icon) - the same icon as before, but the large version.
General functionality on Windows XP.
Large icon support required targeting Vista in the SDK headers, which changes the definitions of some structs and constants to the Vista versions. This can prevent affected APIs from working correctly on XP. According to my notes, the last time I tried targeting Vista (before reverting it), there were two known issues:
- Process Close broke on XP. I fixed it this time.
- TrayTip broke on "non-English Windows". I don't have non-English Windows to test on, but this time around I found that it broke TrayTip on XP, and fixed it. (This also fixed TrayTip on Windows 2000 as a side-effect.)