博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
超轻便自由的快速启动应用工具
阅读量:7176 次
发布时间:2019-06-29

本文共 4419 字,大约阅读时间需要 14 分钟。

/*【RunMenuZz】超轻便自由的快速启动应用工具联系:hui0.0713@gmail.com 讨论QQ群:3222783、271105729、493194474by Zz @2016.11.06*/#Persistent            ;~让脚本持久运行#NoEnv                    ;~不检查空变量为环境变量#SingleInstance,Force    ;~运行替换旧实例ListLines,Off            ;~不显示最近执行的脚本行SetBatchLines,-1        ;~脚本全速执行(默认10ms)SetControlDelay,0        ;~控件修改命令自动延时(默认20)SetWorkingDir,%A_ScriptDir%    ;~脚本当前工作目录SplitPath,A_ScriptFullPath,,,,fileNotExtiniFile:=fileNotExt ".ini"IfNotExist,%iniFile%    gosub,iniFileWritegosub,MenuTrayMenuObj:=Object()menuRoot:=Object()menuRoot.Insert("AppMenu")menuLevel:=1;~;[设定自定义显示菜单热键]IniRead,menuKey,%iniFile%,keytry{    Hotkey,%menuKey%,MenuShow,On}catch{    MsgBox,1,,[key]`n%menuKey%`t<—热键语法不正确`n`n`n详细请参照AutoHotkey按键列表,需要打开吗?    IfMsgBox OK        Run,http://ahkcn.sourceforge.net/docs/KeyList.htm    return};~;[读取软件安装目录下所有exe]IniRead,appPath,%iniFile%,appPathLoop,parse,appPath,`n{    IfExist,%A_LoopField%    {        Loop,%A_LoopField%\*.exe,0,1        {            fileName:=RegExReplace(A_LoopFileName,"i)\.exe$","")            MenuObj[(fileName)]:=A_LoopFileLongPath        }    }else{        MsgBox,路径不对: %A_LoopField%    }};~;[读取自定义树形菜单设置]IniRead,menuName,%iniFile%,menuNameLoop,parse,menuName,`n{    if(RegExMatch(A_LoopField,"^-")){        ;~;[生成目录树层级结构]        menuItem:=RegExReplace(A_LoopField,"^-+")        menuLevel:=StrLen(RegExReplace(A_LoopField,"(^-+).*","$1"))        if(menuItem){            Menu,%menuItem%,add            Menu,% menuRoot[menuLevel],add,%menuItem%,:%menuItem%            menuLevel+=1            menuRoot[menuLevel]:=menuItem        }else if(menuRoot[menuLevel]){            Menu,% menuRoot[menuLevel],Add        }    }else if(InStr(A_LoopField,"|")){        ;~;[生成有前缀备注的应用]        menuDiy:=StrSplit(A_LoopField,"|")        appName:=RegExReplace(menuDiy[2],"i)\.exe$")        if(MenuObj[appName]){            MenuObj[menuDiy[1]]:=MenuObj[appName]        }else{            MenuObj[menuDiy[1]]:=menuDiy[2]        }        MenuAdd(menuRoot[menuLevel],menuDiy[1])    }else if(RegExMatch(A_LoopField,"i)^(\\\\|.:\\).*?\.exe$") && FileExist(A_LoopField)){        ;~;[生成完全路径的应用]        SplitPath,A_LoopField,fileName,,,nameNotExt        MenuObj[nameNotExt]:=A_LoopField        MenuAdd(menuRoot[menuLevel],nameNotExt)    }else{        ;[生成已取到的应用]        appName:=RegExReplace(A_LoopField,"i)\.exe$")        if(!MenuObj[appName])            MenuObj[appName]:=A_LoopField        MenuAdd(menuRoot[menuLevel],appName)    }}if(ini){    TrayTip,,RunMenuZz菜单初始化完成,3,1    Run,%iniFile%}ini=truereturn;~;[生成菜单]MenuAdd(menuName,menuItem){    global MenuObj    Menu,%menuName%,add,%menuItem%,MenuRun    try {        Menu,%menuName%,Icon,%menuItem%,% MenuObj[(menuItem)],0    } catch e {        ;~ Menu,%MenuName%,Delete,%menuItem%    }};~;[显示菜单]MenuShow:    if(!ini){        TrayTip,请不要太急,RunMenuZz菜单正在生成中...再试一下,3,1        return    }    try{        Menu,% menuRoot[1],Show    }catch{        MsgBox,菜单显示错误,请检查%iniFile%中[menuName]下面的菜单配置    }    return;~;[菜单运行]MenuRun:    Run,% MenuObj[(A_ThisMenuItem)]    return;~;[托盘菜单]MenuTray:    Menu,Tray,NoStandard    Menu,Tray,add,重启(&R),Menu_Reload    Menu,Tray,add    Menu,Tray,add,挂起(&S),Menu_Suspend    Menu,Tray,add,暂停(&A),Menu_Pause    Menu,Tray,add,退出(&X),Menu_Exit    Menu,Tray,Default,重启(&R)    Menu,Tray,Click,1    returnMenu_Reload:    Reload    returnMenu_Suspend:    Menu,tray,ToggleCheck,挂起(&S)    Suspend    returnMenu_Pause:    Menu,tray,ToggleCheck,暂停(&A)    Pause    returnMenu_Exit:    ExitApp    return;~;[配置生成]iniFileWrite:    ini:=true    FileAppend,% ";【RunMenuZz】超轻便自由的快速启动应用工具`n;联系:hui0.0713@gmail.com 讨论QQ群:3222783、271105729、493194474`n;by Zz @2016.11.06`n;初次使用请先按一下F1显示菜单`n",%iniFile%    FileAppend,% "[key]`nF1`n;【自定义显示菜单热键】参照AutoHotkey按键列表`n;单键如:【``】【F1】【LWin】【RAlt】【AppsKey】`n;组合键如:左A​lt+z:【
+/】`n`n",%iniFile% FileAppend,% "[appPath]`n;【软件安装根目录】`n;已加入系统[运行]路径的目录无需添加,如:C:\Windows的应用`nC:\Program Files\`nC:\Program Files (x86)\`n`n[menuName]`n;【自定义树形启动菜单】`n;如果有多个同名应用,请加上全路径`n;目录前-为1级目录,--为2级以此类推,分隔符亦是如此`n",%iniFile% FileAppend,% "cmd.exe`n-`n-app`n计算器|calc.exe`n--img`n 画图|mspaint.exe`n ---`n 截图|SnippingTool.exe`n--sys`n ---media`n wmplayer.exe`n--佳软`n StrokesPlus.exe`n TC|Totalcmd64.exe`n Everything.exe`n-edit`n notepad.exe`n 写字板|wordpad.exe`n-`nIE(&E)|C:\Program Files\Internet Explorer\iexplore.exe`n-`n设置|Control.exe`n",%iniFile% return

 

转载于:https://www.cnblogs.com/zhanglei1371/p/6664887.html

你可能感兴趣的文章
菜鸟工具-常用正则表达式
查看>>
LC144 Binary Tree Preorder Traversal
查看>>
UVA 11475 Extend to Palindrome hash
查看>>
8469:特殊密码锁
查看>>
<Android 应用 之路> 聚合数据SDK
查看>>
MVC框架
查看>>
WebRTC源码分析四:视频模块结构
查看>>
假日3天知识探索补充
查看>>
11.6八校联考T1,T2题解
查看>>
让超出父视图范围的子视图响应事件,在UIView范围外响应点击
查看>>
Failed loading D:\Program Files\phpStudy20161103\php\php-5.6.27-nts\ext\php_xdebug.dll
查看>>
【DM642学习笔记三】flash的烧写
查看>>
综合练习:词频统计
查看>>
博弈的SG函数理解及模板
查看>>
Python生成随机验证码
查看>>
centos安装jdk文件
查看>>
html5--2.1新的布局元素(1)-header/footer
查看>>
拒绝从入门到放弃_《Openstack 设计与实现》必读目录
查看>>
javascript 加入html
查看>>
sql语句增删改查与子查询
查看>>