Question

How can I change the tray icon to my.ico from within an Autohotkey script for example when the script is paused. For this I have come up with my own Pause Script menu item in the tray menu.

#SingleInstance ignore
Menu, Tray, Tip, AutoCase 0.11
Menu, Tray, Icon,,,1
Menu, Tray, Icon, D:\\Utilities\\AutoCase\\AutoCase-Icon-32x32.ico,1,1
Menu, Tray, Icon, D:\Utilities\AutoCase\AutoCase-Icon-(Paused)-32x32.ico,2,1
Menu, Tray, NoStandard
Menu, Tray, Add, &Pause Script, PauseHandler
Menu, Tray, Add, E&xit, ExitHandler
Menu, Tray, Default, &Pause Script

PauseHandler:
Menu, Tray, ToggleCheck, &Pause Script 
MsgBox %A_IsPaused%
if A_IsPaused=1 
{
    Pause Off
    Menu, Tray, Icon,,1,1
}
else ; <>1
{
    Menu, Tray, Icon,,2,1
    Pause On
}
return

ExitHandler:
ExitApp 
return

When compiling the script, I face with an error warning that the icon file cannot be loaded. Please advise in this regard.

Was it helpful?

Solution

You should use your second option without quotes:

Menu, Tray, Icon, D:\Utilities\AutoCase\AutoCase-Icon-(Paused)-32x32.ico, 2, 1

OTHER TIPS

Menu, Tray, Icon, %A_WorkingDir%\icon\AutoCase-Icon-32x32.ico,,1

Above loads the icon from folder Icon in the working directory of the script. Ensure that the path use single backslash (\) and is without quotation marks ("").

Thanks to MCL and then Elliot Denolf for their contributions.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top