AHK实现自定义图标

绘制属于自己的图标 2018年3月31日补充 很久没有换图标的需求,最近发现这个脚本不能使用了,就干脆放弃了。 使用新的换图标方式,就一行代码。

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
}


为TA充电
共{{data.count}}人
人已赞赏
AHKV1办公

[办公]一键调节音量的脚本

2016-11-30 23:43:49

AHKV1学习

[编程][GUI]华丽msgbox生成器

2016-12-1 14:39:08

3 条回复 A文章作者 M管理员
  1. 河许人

    不错,应该对很多人都很有用! 😀

  2. 悠然生活

    各位请注意,更换图标只需要一行代码就够了。文章中的那一大段代码,我已经测试通不过了。

  3. maxs

    暂停的时候,图标不跟着变……

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索