/*----------------------说明-------------------------- 作用:根据提供的目录生成菜单。子目录以子菜单的形式体现; 点击菜单显示菜单名; 作者:zhanglei1371 QQ:625289295 ---------------------------------------- */ fod=C:\Screen Recorder ;测试目录 createmenu(fod) Menu,% regexreplace(fod,".+\\(.+)(\\)?$","$1"),show return createmenu(fod){ ;感谢网友Troy_Daniel的修正 Loop ,%fod%\*.*,1 { myMenu:=(myMenu=""?RegExReplace(fod,".+\\(.+)(\\)?$","$1"):myMenu) if (FileExist(A_LoopFileFullPath)<>"D"){ ;否则若遍历到文件则创建文件菜单 Menu,%myMenu%,add,%A_LoopFileName%,getname } else ;若遍历到目录,则创建子菜单 { If ((ofn := createmenu(A_LoopFileFullPath)) == ""){ Menu, %A_LoopFileName%, Add ofn := A_LoopFileName } Menu,%myMenu%,add,%ofn%,:%ofn% } } return mymenu } getname: MsgBox % A_ThisMenuItem return
—————————
遍历目录生成菜单.ahk
—————————
Error: Submenu must not contain its parent menu.
Specifically: App
Line#
021: Else
022: {
023: if ((ofn := createmenu(A_LoopFileFullPath)) == “”)
023: {
024: Menu,%A_LoopFileName%,Add
025: ofn := A_LoopFileName
026: }
—> 027: Menu,%myMenu%,add,%ofn%,:%ofn%
028: }
029: }
030: Return,mymenu
031: }
034: MsgBox,A_ThisMenuItem
035: Return
036: Exit
The current thread will exit.
—————————
确定
—————————
SciTE4AutoHotkey
Version 3.0.06.01 – Based on SciTE 3.5.1
AutoHotkey_1.1.30.03
修改测试目录为我自己的目录了,也是管理员权限运行的,没有编译成软件,管理员权限运行的SciTE4AutoHotkey,不知道为什么报错了