gaoyuan22 发表于 2008-8-14 14:22:30

使用多进程,现在是一个EXE文件了,但执行后托盘还是一串。。请求支援。。。

——————————————————————————————

我学AUTOIT这些天,慢慢知道了一点点技巧,做了一些自己用的辅助小工具,
但是各个小工具 编译成 一个个可执行文件,使用起来不方便,而且托盘上也显示一大串,十分不美观,也不方便。

刚刚看了 前辈高手的贴:
http://www.autoitx.com/forum.php?mod=viewthread&tid=475&extra=page%3D2

讲得很生动,我这菜鸟也会 用多进程脚本了。

但是,我发现个问题,

现在我的N个小工具 是合成一个可执行文件了(EXE).
但是,这个文件执行后,还是会生成 N个 托盘图标。。。
汗。
有没什么办法解决?

zjx0111 发表于 2009-1-14 22:10:05

我也想知道,就是没人知道

fjxm 发表于 2009-1-14 22:20:30

#NoTrayIcon
这个代码有没有加。

netegg 发表于 2009-1-14 23:21:47

要不就改成线程

zjx0111 发表于 2009-1-15 11:01:23

#NoTrayIcon,
就所有图标都没有了
我顶你,我也遇到了同样的问题

zjx0111 发表于 2009-1-15 11:14:33

希望有个高手来顶一下

alacner 发表于 2009-1-15 13:07:36

可以先屏蔽掉然后自己创建一个traymenu的。。。。

alacner 发表于 2009-1-15 13:09:42

我利用了“ModernMenuRaw.au3" 大家可以google找到,其实这个相当于可以设置menu前面的ico的,呵呵,当然你也可以用程序自带的函数。



#NoTrayIcon



; UDF

#include "ModernMenuRaw.au3"



; AutoIt options

Opt("TrayAutoPause", 0)

Opt("TrayMenuMode", 1)



; Tray and context items

$mainIcon = _TrayIconCreate("Chat","shell32.dll", -25)

_TrayIconSetState()

_TrayCreateContextMenu()

$chatTray = _TrayCreateItem("Chat")

_TrayItemSetIcon($chatTray, "shell32.dll", -25)

_TrayCreateItem("")

$closeTray = _TrayCreateItem("Close")

_TrayItemSetIcon($closeTray, "shell32.dll", -28)

alacner 发表于 2009-1-15 13:11:28

程序默认的大家自己去看文档吧:Tray打头的函数。。。这里就不复述了。

liongodmien 发表于 2009-1-16 15:44:02

LZ何必要把代码写成多个小工具?!为何不放在一起做成一个工具?还要弄到多进程,如果是学习编制多进程还可以说,但如果是要实用,这就不太好了

zjx0111 发表于 2009-1-19 09:53:51

多过程肯定是需要的,比如说有一个监控进程

white8889 发表于 2009-8-15 09:55:30

解决方法如下:

1. 在主进程前加上 #NoTrayIcon;全部进程托盘图标均不显示

2. 在需要显示托盘图标的进程中加上TraySetState() ; 单独再显示这个进程的托盘图标

例:
主进程
   #NoTrayIcon
    TraySetState() ;显示主进程托盘图标
子进程1()
      TraySetState() ;显示子进程1托盘图标
子进程2()
   ;子进程2托盘图标不显示

78391493 发表于 2009-8-15 12:07:08

#NoTrayIcon
#include "CoProc.au3"
Opt("TrayIconHide", 0)
页: [1]
查看完整版本: 使用多进程,现在是一个EXE文件了,但执行后托盘还是一串。。请求支援。。。