autohotkey显示一个匹配前n个文件的列表菜单,菜单图标为图标文件本身

autohotkey显示一个匹配前n个文件的列表菜单,菜单图标为图标文件本身
; 显示一个匹配前n个文件的列表菜单,菜单图标为图标文件本身.
pattern = %A_ScriptDir%\*
n = 15

; 为 SHFILEINFOW 结构体申请内存.
VarSetCapacity(fileinfo, fisize := A_PtrSize + 688)

Loop, Files, %pattern%, FD
{
    ; 为每个文件添加一个菜单项.
    Menu F, Add, %A_LoopFileName%, donothing
    
    ; 获取文件的图标.
    if DllCall("shell32\SHGetFileInfoW", "wstr", A_LoopFileFullPath
        , "uint", 0, "ptr", &fileinfo, "uint", fisize, "uint", 0x100)
    {
        hicon := NumGet(fileinfo, 0, "ptr")
        ; 设置菜单项的图标.
        Menu F, Icon, %A_Index%&, HICON:%hicon%
        ; 因为我们使用了 ":" 而不是 ":*", 在程序退出或菜单被删除时
        ; 这些图标也会被自动释放
    }
}
until A_Index = n
Menu F, Show
donothing:
return

 

给TA捐赠
共{{data.count}}人
人已捐赠
其他教程

2的指数的三种乘除运算方式速度测试

2018-1-6 14:33:21

其他

autohotkey实现预加载并复用一些图像

2018-1-6 17:45:22

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索