找回密码
 加入
搜索
查看: 3189|回复: 14

多进程如何在右下角只显示一个图标

[复制链接]
发表于 2009-1-14 17:07:30 | 显示全部楼层 |阅读模式
多进程如何在右下角只显示一个图标
如图,我这里显示两个,

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2009-1-14 17:22:40 | 显示全部楼层
#NoTrayIcon
 楼主| 发表于 2009-1-14 21:56:28 | 显示全部楼层
还是不懂,这个好像是不显示图标吧,我只要显示一个,

因为我采用了多进程,这里会显示两个
发表于 2009-1-14 22:30:27 | 显示全部楼层
我没研究过多进程 不过肯定也是用这个命令来隐藏 子进程的 图标的
发表于 2009-1-14 22:41:08 | 显示全部楼层
可以用_GuiCtrlToolbar_HideButton()隐藏~
发表于 2009-1-14 23:22:41 | 显示全部楼层
啊哈,不行

[ 本帖最后由 新手上路 于 2009-1-14 23:33 编辑 ]
发表于 2009-1-15 04:12:19 | 显示全部楼层
是多进程还是多线程
 楼主| 发表于 2009-1-15 10:35:44 | 显示全部楼层
多进程,用的是CoProc.au3
发表于 2009-1-15 13:12:50 | 显示全部楼层
http://www.autoitx.com/forum.php ... &extra=page%3D1
我也是用CoProc.au3的,哈哈。。。
发表于 2009-1-15 13:13:40 | 显示全部楼层
不过很奇怪的,子进程里面的不能用 traytip了。。。
发表于 2009-1-16 15:41:29 | 显示全部楼层
在子进程函数的开始加隐藏图标代码可以让子进程无图标,但如要显示主进程图标,则须在主进程代码前段加图标显示设置
发表于 2009-1-16 22:28:35 | 显示全部楼层
这个问题我也想知道,但是没有找到解决方法
http://www.autoitx.com/forum.php?mod=viewthread&tid=4611&highlight=
发表于 2009-1-17 10:30:16 | 显示全部楼层
我觉得 全部#NoTrayIcon 然后自己建个托盘每个子进程都操作那个
发表于 2009-8-30 16:21:50 | 显示全部楼层
今天学习了不少啊
发表于 2009-8-30 21:50:52 | 显示全部楼层
楼主可以参考这个#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
Global $XL = 250 , $YL = 280
Opt("GUIOnEventMode", 1)
Opt("TrayOnEventMode", 1)
Opt("TrayMenuMode", 1)

$setnet  = TrayCreateItem("设置")
TrayCreateItem("")
$aboutitem  = TrayCreateItem("关于")
TrayCreateItem("")
$Exit = TrayCreateItem("退出")
TraySetState()
TrayItemSetOnEvent($setnet,"TrayMsg");注册托盘事件
TrayItemSetOnEvent($aboutitem,"TrayMsg")
TrayItemSetOnEvent($Exit,"TrayMsg")
TraySetOnEvent($TRAY_EVENT_PRIMARYDOWN, "TrayMsg");注册双击托盘事件

$hGUI = GUICreate("窗口1", 600, 400, -1, -1, BitOR($WS_MINIMIZEBOX, $WS_SYSMENU))

$ie = ObjCreate("Shell.Explorer.2")
$Obj = GUICtrlCreateObj($ie, 0,0 ,690,900)
$ie.navigate("http://www.baidu.com")

GUISetOnEvent($GUI_EVENT_MINIMIZE, "GUICtrlMsg")
GUISetOnEvent($GUI_EVENT_CLOSE, "GUICtrlMsg")
$GUI2 = GUICreate ( "设置" , $XL , $YL ,@DesktopWidth - ($XL+9), @DesktopHeight - ($YL+55), BitOR($WS_MINIMIZEBOX, $WS_SYSMENU))


$ie = ObjCreate("Shell.Explorer.2")
$Obj = GUICtrlCreateObj($ie, 0,0 ,690,900)
$ie.navigate("http://www.qq.com")

GUISetOnEvent($GUI_EVENT_CLOSE, "GUICtrlMsg")

GUISwitch($hGUI)                            ;切换主窗口
GUISetState(@SW_SHOW)                          ;显示当前窗口

While 1
        Sleep(1100)
WEnd
Func GUICtrlMsg();选择产生消息的 GUI事件
        Switch @GUI_CtrlId
                Case $GUI_EVENT_CLOSE
                        GUISetState(@SW_HIDE,@GUI_WinHandle);  隐藏主窗口
                Case  $GUI_EVENT_MINIMIZE
                        GUISetState(@SW_HIDE, $hGUI);还是隐藏主窗口
        EndSwitch
EndFunc

Func TrayMsg()
        Switch @TRAY_ID   ;选择产生消息的 TrayItem 或其它特殊事件(如鼠标左键双击事件)
                        Case  $TRAY_EVENT_PRIMARYDOWN
                        GUISetState(@SW_SHOW, $hGUI);  双击托盘显示 主窗口
               Case $setnet
                        GUISetState(@SW_SHOW,$GUI2);  显示 子窗口 1
                Case $aboutitem
                        Msgbox(64, "关于:", "AutoIt3-托盘-例子.");弹出消息提示
                Case $Exit
                        Quit();退出
        EndSwitch
        EndFunc         
        
Func Quit()
   Exit
EndFunc
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-22 21:25 , Processed in 0.084711 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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