FlashTrayIcon() - 闪烁托盘图标

许多实用脚本和封装函数, 可以让您编写脚本更加便捷高效

Moderators: tmplinshi, arcticir

Post Reply
tmplinshi
Posts: 1604
Joined: 01 Oct 2013, 14:57

FlashTrayIcon() - 闪烁托盘图标

Post by tmplinshi » 31 Aug 2014, 09:32

代码比较简单

Code: Select all

FlashTrayIcon()
MsgBox, 闪烁中

FlashTrayIcon(0)
MsgBox, 已停止闪烁。
Return

; 功能: 闪烁托盘图标
; 参数:
; 	ms_loop - 闪烁间隔(毫秒)。如果为 0,则停止闪烁。
; 	s_stop  - 多少秒后停止闪烁
FlashTrayIcon(ms_loop = 500, s_stop = 0) {
	static defaultIcon, blankIcon

	defaultIcon := A_IconFile ? A_IconFile : A_IsCompiled ? A_ScriptFullPath : A_AhkPath

	SetTimer, __FlashTrayIcon_Timer, % ms_loop ? ms_loop : "Off"
	SetTimer, __FlashTrayIcon_StopTimer, % s_stop ? (s_stop * 1000) : "Off"
	Return
	
	__FlashTrayIcon_Timer:
		blankIcon := !blankIcon
		
		If blankIcon
			Menu, Tray, Icon, SHELL32.dll, 50
		Else
			Menu, Tray, Icon, % defaultIcon
	Return
	
	__FlashTrayIcon_StopTimer:
		SetTimer, __FlashTrayIcon_Timer, Off
		Menu, Tray, Icon, % defaultIcon
	Return
}
Last edited by tmplinshi on 20 Sep 2014, 22:12, edited 6 times in total.
User avatar
amnesiac
Posts: 186
Joined: 22 Nov 2013, 03:08
Location: Egret Island, China
Contact:

Re: FlashTrayIcon() - 闪烁托盘图标

Post by amnesiac » 31 Aug 2014, 20:02

这个思路新颖,赞一个。
kongqir
Posts: 1
Joined: 31 Aug 2014, 22:36

Re: FlashTrayIcon() - 闪烁托盘图标

Post by kongqir » 31 Aug 2014, 22:51

也很猥琐。
User avatar
RobertL
Posts: 546
Joined: 18 Jan 2014, 01:14
Location: China

Re: FlashTrayIcon() - 闪烁托盘图标

Post by RobertL » 01 Sep 2014, 05:22

嗯,简单实用。
不知道其他图标动画是不是一样靠更新实现。
我为人人,人人为己?
User avatar
huyaowen
Posts: 109
Joined: 28 Jul 2014, 01:15

Re: FlashTrayIcon() - 闪烁托盘图标

Post by huyaowen » 13 Sep 2014, 07:46

感谢,正有用
User avatar
huyaowen
Posts: 109
Joined: 28 Jul 2014, 01:15

Re: FlashTrayIcon() - 闪烁托盘图标

Post by huyaowen » 20 Sep 2014, 20:25

感觉有二点可以优化
第一。闪烁的时候不会自动停,否则还要加很多代码。可否加个默认时间 ,比如默认闪5秒,就停了。

第二。对于ahk程序有ico图标的,闪的时候不闪自定义的图标,而是闪绿H,可不可以优化下。
tmplinshi
Posts: 1604
Joined: 01 Oct 2013, 14:57

Re: FlashTrayIcon() - 闪烁托盘图标

Post by tmplinshi » 20 Sep 2014, 21:57

huyaowen wrote:感觉有二点可以优化
第一。闪烁的时候不会自动停,否则还要加很多代码。可否加个默认时间 ,比如默认闪5秒,就停了。

第二。对于ahk程序有ico图标的,闪的时候不闪自定义的图标,而是闪绿H,可不可以优化下。
已更新
User avatar
huyaowen
Posts: 109
Joined: 28 Jul 2014, 01:15

Re: FlashTrayIcon() - 闪烁托盘图标

Post by huyaowen » 21 Sep 2014, 01:54

好用,谢谢。
User avatar
huyaowen
Posts: 109
Joined: 28 Jul 2014, 01:15

Re: FlashTrayIcon() - 闪烁托盘图标

Post by huyaowen » 21 Sep 2014, 03:58

发现个问题,当图标还闪的时候就让脚本工作,弹出traytip,那图标就停在空的位置。
sddd.jpg
sddd.jpg (20.51 KiB) Viewed 11063 times
FRRRR.jpg
FRRRR.jpg (16.94 KiB) Viewed 11063 times
User avatar
huyaowen
Posts: 109
Joined: 28 Jul 2014, 01:15

Re: FlashTrayIcon() - 闪烁托盘图标

Post by huyaowen » 21 Sep 2014, 04:14

是弹出菜单暂停了线程的缘故。
qq1312029726
Posts: 1
Joined: 17 Oct 2014, 00:40

Re: FlashTrayIcon() - 闪烁托盘图标

Post by qq1312029726 » 17 Oct 2014, 19:30

Code: Select all

 ;任务栏图标闪动,238个图标      
i=0
loop,238                                        
{
i+=1
Menu, Tray, Icon, Shell32.dll, %i%  ;系统默认图标
sleep,500
}
esc::Exitapp
Post Reply

Return to “脚本函数”