traytip怎么添加进去?
本帖最后由 qixinwb 于 2010-1-30 10:54 编辑自己写的gameupdate.exe的源码:
$g_szVersion = "gameupdate"
If WinExists($g_szVersion) Then Exit
AutoItWinSetTitle($g_szVersion)
$var = IniReadSectionNames("\\Server\e\gameupdate\gameupdate.ini")
If @error Then
MsgBox(4096, "", "Error occurred, probably no INI file.")
Else
For $i = 1 To $var
ShellExecutewait($var[$i])
Opt("TrayMenuMode",1) ; Default tray menu items (Script Paused/Exit) will not be shown.
TrayTip("请勿关闭游戏下载窗口!","智能后台更新已启动,他将使您下次进入游戏更快速!",5000,1)
Sleep(5000)
ProcessWaitClose("load.exe")
FileWrite("\\Server\xunlei\更新日志\"&@ComputerName&".txt", @ComputerName& ""&@MON& "-" & @MDAY & "" &@HOUR& ":" &@MIN& " " & $var[$i]& @CRLF)
Next
TrayTip("更新完成!","下次进入游戏将会快很多!",5000,1)
Sleep(5000)
TrayTip("祝您上机愉快!","欢迎下次光临齐心网吧!",5000,1)
Sleep(5000)
EndIf
Exit
我想把下面的代码加入进去,怎么办?
Opt("TrayMenuMode",1) ; Default tray menu items (Script Paused/Exit) will not be shown.
$aboutitem = TrayCreateItem("关于")
TrayCreateItem("")
$exititem = TrayCreateItem("退出")
TraySetState()
TraySetClick(16)
While 1
$msg = TrayGetMsg()
Select
Case $msg = 0
ContinueLoop
Case $msg = $aboutitem
Msgbox(64,"关于:","齐心网吧自创!")
Case $msg = $exititem
Msgbox(64,"温馨提示!","智能更新系统在您空闲的时候自动下载游戏,将使您下次进入游戏更快速!"&@CRlf& @lf&"更新完毕他会自动关闭,不会影响您上机!")
EndSelect
WEnd
我试过好几种LOOP方法都不行,求大虾们帮忙看看!还有,用了Opt("TrayMenuMode",1) 后图标要想显示源程序的图标怎么办? 本帖最后由 jycel 于 2010-1-13 22:40 编辑
你下面那句要不得!参考下下面代码!今晚没时间临时上一下,要不帮你改了!
$tp = TrayCreateItem("显示菜单");, $tp)
TrayItemSetOnEvent($tp, "TrayMsg") ;注册第一个菜单项的事件(被点下)
$tp = TrayCreateItem("隐藏菜单");, $tp)
TrayItemSetOnEvent($tp, "TrayMsg") ;注册第一个菜单项的事件(被点下)
$tp = TrayCreateItem("关于程序")
TrayItemSetOnEvent($tp, "TrayMsg") ;注册第一个菜单项的事件(被点下)
TrayCreateItem("")
$tp = TrayCreateItem("退出程序")
TrayItemSetOnEvent($tp, "TrayMsg") ;注册第一个菜单项的事件(被点下)
TraySetOnEvent($TRAY_EVENT_PRIMARYDOUBLE,"_show")
TraySetState()
TraySetToolTip("桌面菜单"&@CRLF&"当前操作系统:"&@OSVersion&" "&@OSServicePack&@CRLF&"个人专用版 BY-Jycel")
;在显示窗口之前添加以上代码,内容自己改
GUISetState(@SW_SHOW)
Func TrayMsg() ;消息执行函数
Switch @TRAY_ID;选择产生消息的 TrayItem 或其它特殊事件(鼠标左键双击事件)
Case $tp
_show()
Case $tp
GUISetState(@SW_HIDE,$Form1)
Case $tp
MsgBox(48,"关于程序","桌面专用菜单"&@CRLF&@CRLF&"BY-Jycel QQ:472891322",5)
Case $tp
$queding=MsgBox(32+4,"关闭提示","是否关闭程序?")
if $queding="7" Then
_minx()
Elseif $queding="6" Then
_ext()
EndIf
EndSwitch
EndFunc ;==>TrayMsg 十分感谢楼上的jycel解答,我照葫芦画瓢到是会了,可是不明白是为什么非要照那样的格式。
我上面的两段代码单独运行都是正确的,放到一起就不行了,就是shellexcute()的时候不能看tray上面的菜单,必须等shellexcute()运行完才能看。我是想在shellexcute()调用的时候无聊可以看看那trayItem并且可以由他关闭程序。
我的目的是想把那两段整合起来。。。。 回复 3# qixinwb
没细看,整合了Opt("TrayMenuMode", 1) ; Default tray menu items (Script Paused/Exit) will not be shown.
$aboutitem = TrayCreateItem("安装软件")
TrayCreateItem("")
$exititem = TrayCreateItem("退出")
TraySetState()
TraySetClick(16)
While 1
$msg = TrayGetMsg()
Select
Case $msg = 0
ContinueLoop
Case $msg = $aboutitem
MsgBox(64, "安装软件", "现在开始安装软件")
test()
Case $msg = $exititem
;MsgBox(64, "温馨提示!", "智能更新系统在您空闲的时候自动下载游戏,将使您下次进入游戏更快速!" & @CRLF & @LF & "更新完毕他会自动关闭,不会影响您上机!")
Exit
EndSelect
WEnd
Func test()
$g_szVersion = "gameupdate"
If WinExists($g_szVersion) Then Exit
AutoItWinSetTitle($g_szVersion)
$var = IniReadSectionNames("Server\e\gameupdate\gameupdate.ini")
If @error Then
MsgBox(4096, "", "Error occurred, probably no INI file.")
Else
For $i = 1 To $var
ShellExecuteWait($var[$i])
Opt("TrayMenuMode", 1) ; Default tray menu items (Script Paused/Exit) will not be shown.
TrayTip("请勿关闭游戏下载窗口!", "智能后台更新已启动,他将使您下次进入游戏更快速!", 5000, 1)
Sleep(5000)
ProcessWaitClose("load.exe")
FileWrite("\\Server\xunlei\更新日志\" & @ComputerName & ".txt", @ComputerName & "" & @MON & "-" & @MDAY & "" & @HOUR & ":" & @MIN & " " & $var[$i] & @CRLF)
Next
TrayTip("更新完成!", "下次进入游戏将会快很多!", 5000, 1)
Sleep(5000)
TrayTip("祝您上机愉快!", "欢迎下次光临齐心网吧!", 5000, 1)
Sleep(5000)
EndIf
EndFunc ;==>test opt:face (22): 万分荣幸能得到超级版主的认真解答。:face (33):
原来是要把他单独作为一个Func,哎,难怪我总是失败呢。。。。 我是直接把那一段加在了 Case $msg = $aboutitem下面。结果循环不出来,看不了菜单 回复 7# qixinwb
不用客气,我只是复制&粘贴了下……记得改下帖子分类~~ 可是问题又来了。。。。
程序是没问题了,却被windows限制了并发连接数!!!改了tcp还是不行,一次只能和10台机子保持连接
为什么网管软件可以同时连接那么多机子呢? 10个连接的限制是说共享连接吧,TCP的并发连接你就设置成1000也没用的
非SERVER系统,尤其是XP是有这共享连接限制的,而且目前没有好的解决办法,有个补丁可以把XP变成SERVER,但系统改的乱七八糟的。。
共享的机器换成2003吧,这样很方便解决问题
不知道AU3用TCP连接进行下载,会不会有这限制,有待测试。。 完了,我是新来的菜鸟。不知道怎么结贴!!! 好帖,又学到点有用的东西
页:
[1]