找回密码
 加入
搜索
查看: 2509|回复: 3

[系统综合] ;读取INI信息,生成对应的托盘菜单项,紧急求助,谢谢

[复制链接]
发表于 2011-5-24 00:03:16 | 显示全部楼层 |阅读模式
TrayMenu.au3
;读取INI信息,生成对应的托盘菜单项,配置文件有两种方式,哪个方便用哪个,紧急求助,谢谢

#include <File.au3>
#include <ModernMenuRaw.au3>
$DefaultMenuSet = "<TrayMenu.ini>丢失"
;Menu0
$Menu0name = IniRead("TrayMenu.ini","SetMenu","Menu0name",$DefaultMenuSet)
$Menu0path = IniRead("TrayMenu.ini","SetMenu","Menu0path",$DefaultMenuSet)
$Menu1name = IniRead("TrayMenu.ini","SetMenu","Menu1name",$DefaultMenuSet)
$Menu1path = IniRead("TrayMenu.ini","SetMenu","Menu1path",$DefaultMenuSet)

;读取INI里面的$Menu(n)name,$Menu(n)path ,INI里面有多少就读取多少

#NoTrayIcon
$nTrayIcon1             = _TrayIconCreate("托盘菜单示例", "icon.ico");
_TrayIconSetClick(-1, 16)
_TrayIconSetState()
$bUseAdvTrayMenu = FALSE
$nTrayMenu1             = _TrayCreateContextMenu() 
$nSideItem3             = _CreateSideMenu($nTrayMenu1)
_SetSideMenuText($nSideItem3, "我的菜单")
_SetSideMenuColor($nSideItem3, 0xFFFFFF)
_SetSideMenuBkColor($nSideItem3, 0x666666)
_SetSideMenuBkGradColor($nSideItem3, 0xCCCCCC)
$menu0name  = _TrayCreateItem($Menu0name)
        _TrayItemSetIcon($Menu0name, $Menu0path, 0)
$menu1name  = _TrayCreateItem($Menu1name)
        _TrayItemSetIcon($Menu1name, $Menu1path, 0)

;根据上面读取INI里面的Menu(n)name,Menu(n)path生成$Menu(n)name, INI里面读取多少就生成多少


_TrayCreateItem("")
$SelfRun  = _TrayCreateItem("Auto Run")
        _TrayItemSetIcon($SelfRun, "shell32.dll", -25)
_TrayCreateItem("")
$TrayExit               = _TrayCreateItem("Exit")
_TrayItemSetIcon(-1, "shell32.dll", -28)
_TrayIconSetState();
While 1
    Sleep(10)
        $Msg = GUIGetMsg()
        
        Select
                Case $Msg = $TrayExit
                        ExitLoop

                Case $Msg = $menu0name
                        ShellExecute($Menu0path, "", "", "open")
                Case $Msg = $menu1name
                        ShellExecute($Menu1path, "", "", "open")

;根据上面读取INI里面的Menu(n)name,Menu(n)path生成$Menu(n)name, INI里面读取多少就生成多少,运行生成的那些$menu(n)name

                Case $msg = $SelfRun
                        Msgbox(64,"selfrun","selfrun")

;勾上就开机自动运行,不勾就不自动运行,勾勾在托盘菜单对于的Auto Run字样后面显示.

        EndSelect
WEnd
_TrayIconDelete($nTrayIcon1)
TrayMenu.ini
[SetMenu]

Menu0name = 菜单0
Menu0path = msgbox.exe

Menu1name = 菜单1
Menu1path = msgbox.exe

Menu2name = 菜单2
Menu2path = msgbox.exe
TrayMenu0.ini
[SetMenu]

[SetMenu1]
Menuname = 菜单0
Menupath = msgbox.exe

[SetMenu2]
Menuname = 菜单1
Menupath = msgbox.exe

[SetMenu3]
Menuname = 菜单2
Menupath = msgbox.exe
求助附件:

本帖子中包含更多资源

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

×
 楼主| 发表于 2011-5-24 00:05:16 | 显示全部楼层
求助各位大侠,谢啦。
发表于 2011-5-28 04:16:20 | 显示全部楼层
我也不会。。呵呵呵。。
发表于 2011-5-28 21:40:23 | 显示全部楼层
这种情况用数组最方便,如果在一个段内,就用IniReadSection,如果在不同段内,那就只好先用IniReadSectionNames来枚举字段,然后再用IniReadSection了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-21 05:40 , Processed in 0.082856 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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