找回密码
 加入
搜索
查看: 1647|回复: 2

求助..TrayOnEvent模式下的托盘操作问题

[复制链接]
发表于 2009-11-9 23:00:13 | 显示全部楼层 |阅读模式
#include <Constants.au3>

#NoTrayIcon

Opt("TrayMenuMode", 1) ;没有默认的(暂停脚本和退出)菜单.

Opt("trayOnEventMode", 1) ;应用 OnEvent 函数于系统托盘.



$Start = TrayCreateItem("启用") ;创建第一个菜单项

TrayItemSetOnEvent($Start, "TrayMsg") ;注册第一个菜单项的(被点下)事件

TrayCreateItem("") ;创建一个空白的菜单项(即横斜杠分割符)

$Close = TrayCreateItem("关闭") ;创建第二个菜单项

TrayItemSetOnEvent($Close, "TrayMsg") ;注册第二个菜单项的(被点下)事件

TrayCreateItem("") ;

$Quit = TrayCreateItem("退出") ;创建第三个菜单项

TrayItemSetOnEvent($Quit, "TrayMsg") ;注册第二个菜单项的(被点下)事件



TraySetOnEvent($TRAY_EVENT_PRIMARYDOUBLE, "TrayMsg") ;注册鼠标左键双击事件(只能在 TrayOnEventMode 设置为 1 时才能使用)

TraySetOnEvent($TRAY_EVENT_SECONDARYUP, "TrayMsg") ;注册鼠标右键双击事件(只能在 TrayOnEventMode 设置为 1 时才能使用)

TraySetState()
start()
func start()

While 1

        Sleep(5000)

WEnd
EndFunc


Func TrayMsg()

        Switch @TRAY_ID   ;选择产生消息的 TrayItem 或其它特殊事件(如鼠标左键双击事件)

                Case $Start

                       $passwd = InputBox("验证身份", "请输入3位以上的密码", "", "*",190,115)
                            If @error = 1 then start()
                                                If $passwd = "123" Then
                                                        MsgBox (0,"ok","ok")
                                                Else
                                                        MsgBox (0,"错误","错误")
                                                EndIf
                Case $Close

                        MsgBox(48, "提示", "你点下了“关闭”")

                Case $TRAY_EVENT_PRIMARYDOUBLE

                        MsgBox(48, "提示", "你双击了鼠标左键")

                Case $Quit

                        Exit

        EndSwitch

EndFunc   ;==>TrayMsg



现在一点启用。。输入密码。。。比如点了取消按键,那整个托盘都无法在点击了
发表于 2009-11-9 23:21:17 | 显示全部楼层
If @error = 1 then start()
这句有问题,点了取消没有返回主循环,而是进入了另一个循环,所以没有产生trayOnEventMode响应

改为
If @error = 1 then Return 返回即可
 楼主| 发表于 2009-11-9 23:35:05 | 显示全部楼层
爱死你了。。。帮我解决了一个大问题。。谢谢
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-22 17:38 , Processed in 0.069196 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表