Menu, Tray, Icon, 测试.ico,1,1
将脚本与ico图标文件放在同一目录中,将该代码写在脚本自动执行部分,运行脚本就能看见托盘处ahk图标变更了。
P.S.脚本自动执行部分就是从第一行开始,直到遇到一个热键。
在ahk的帮助是可以看见相关介绍的,支持的格式很多,不过一般个人就用ico足够了。
附上一个在线小工具,可以将图片转换成ico图标。https://tool.lu/favicon/
Gdip库文件网址为:http://www.autohotkey.net/~Rseding91/Gdip%20All/Gdip_All.ahk
最好将库文件放在ahk根目录下,再在脚本中使用include。
#Include C:\Program Files\AutoHotkey\Gdip.ahk pToken:=GDIP_Startup() OnExit, Exit SplashGUI("Some awesome text",5000,"C:\images\image1.jpg") return Exit: GDIP_Shutdown(pToken) ExitApp SplashGUI(Text="",Time=0,Image="") { Static XPos:=-200,YPos,hwnd1:=0 If (XPos<0) { WinGetPos, StartX, StartY, StartW, StartH, ahk_class Shell_TrayWnd YPos:=StartY-200 XPos:=A_ScreenWidth-200 } If !hwnd1 { Gui, SplashGUI: -Caption +E0x80000 +LastFound +AlwaysOnTop +ToolWindow +OwnDialogs Gui, SplashGUI: Show, NA, % SubStr(A_ScriptName,1,-4) hwnd1:=WinExist() } Gui, SplashGUI:Submit If !Text return hbm := CreateDIBSection(200,200) hdc := CreateCompatibleDC() obm := SelectObject(hdc, hbm) G := Gdip_GraphicsFromHDC(hdc) Gdip_SetInterpolationMode(G, 7) Gdip_SetSmoothingMode(G, 4) ;make background pBrush := Gdip_BrushCreateSolid(0xff79CDCD) Gdip_FillRectangle(G, pBrush, 0, 160, 200, 40) ;make image pBitmap := Gdip_CreateBitmapFromFile(Image) Height:=GDIP_GetImageHeight(pBitmap), Width:=GDIP_GetImageWidth(pBitmap) Gdip_DrawImage(G,pBitmap,0,0,200,160,0,0,Width,Height) Gdip_DisposeImage(pBitmap) ;add text GDIP_TextToGraphics(G,Text,"x5 y165 cffffffff r4 s11 Bold","Arial") ;time text UpdateLayeredWindow(hwnd1, hdc, XPos, YPos,200,200) Gui, SplashGUI:Show, NA ;cleanup SelectObject(hdc, obm) DeleteObject(hbm) DeleteDC(hdc) Gdip_DeleteGraphics(G) If Time SetTimer, KillGUI, -%Time% return KillGUI: Gui, SplashGUI:Submit return }
不错,应该对很多人都很有用! 😀
各位请注意,更换图标只需要一行代码就够了。文章中的那一大段代码,我已经测试通不过了。
暂停的时候,图标不跟着变……