首先上两个效果图
我在tc中使用按下数字打开文件,但是tc没有自带编号的功能,感觉每次手动数一数第几个很麻烦,用gui做了这么一个脚本用来显示tc中的编号,根据看到的编号按数字打开文件,所见即所得
提供一段tc特供版的编号工具的源码,只针对tc使用,带有窗口切换钩子
;tc特供版
DllCall("RegisterShellHookWindow", "Ptr", A_ScriptHwnd), OnMessage(DllCall("RegisterWindowMessage", "Str", "ShellHook"), "ShellEvent")
横距离:=50
纵距离:=5
scx:=0
scy:=230
gui tc:Destroy
Gui tc:+Owner -Caption +AlwaysOnTop +Hwndtest border -DPIScale
Gui tc:font, s8, 微软雅黑
Gui tc:Font,cred
; Gui tc:+E0x08000000
Gui tc:Margin,6,4
Gui tc:Color,EEAA99
Gui tc:+LastFound
WinSet, TransColor, EEAA99
Gui tc:Add, Text, y+%纵距离%,1
Gui tc:Add, Text, y+%纵距离%,2
Gui tc:Add, Text, y+%纵距离%,3
Gui tc:Add, Text, y+%纵距离%,4
Gui tc:Add, Text, y+%纵距离%,5
Gui tc:Add, Text, y+%纵距离%,6
Gui tc:Add, Text, y+%纵距离%,7
Gui tc:Add, Text, y+%纵距离%,8
Gui tc:Add, Text, y+%纵距离%,9
; Gui tc:show,x%scx% y%scy%
; return
ShellEvent(wParam, lParam) {
global
WinGetClass, Class, ahk_id %lParam%
If (Class = "TTOTAL_CMD"){
Gui tc:show,x%scx% y%scy% NoActivate,test
}
Else
gui tc:hide
}
这个工具给了我很多启发,因为有很多地方我自己写了数字打开对应的脚本,但是都没数字给你看,所以我又做了个比较通用的工具,用来在不同的地方显示
举个例子,我单位的进销存系统
这样编号以后就可以自由的数字选了
但是很多地方都是临时需要用一下,需要重新选坐标之类的参数,所以做了个比较通用的工具来每次生成
考虑到很多人没有easyini库,我这次就不做ini配置文件了,初值自己源码就行了,自己根据需求生成即可,因为后续可能修改gui为btt所以这次细致的功能就留到下次一起完善
带了一个配置的gui
长这样
;窗口钩子有需求就自己打开注释
; DllCall("RegisterShellHookWindow", "Ptr", A_ScriptHwnd), OnMessage(DllCall("RegisterWindowMessage", "Str", "ShellHook"), "ShellEvent")
参数:={距离:50,起始x:70,起始y:1400,方向:"横",字体大小:"s8",字体颜色:"cred",透明:1}
For k,v in 参数{
gui sz:Add, text, x10,% k
gui sz:Add,edit,w50 x+10 v%k%,% 参数[k]
}
Gui sz:add, button, g生成序号工具, 生成序号工具
Gui sz:show,
Gui sz:Submit,NoHide
Return
生成序号工具:
Gui sz:Submit,NoHide
gui sz:Destroy
Gui xh:+Owner -Caption +AlwaysOnTop +Hwndtest border -DPIScale
; Gui xh:+E0x08000000
Gui xh:font, %字体大小%, 微软雅黑
Gui xh:Font,%字体颜色%
Gui xh:Margin,6,4
If (透明:=1){
Gui xh:Color,EEAA99
Gui xh:+LastFound
WinSet, TransColor, EEAA99
}
loop 9
if (方向="竖")
Gui xh:Add, Text, y+%距离%,%A_Index%
Else
Gui xh:Add, Text, x+%距离%,%A_Index%
Gui xh:show,x%起始x% y%起始y%
return
; ShellEvent(wParam, lParam) {
; global
; WinGetClass, Class, ahk_id %lParam%
; If (Class = "TTOTAL_CMD"){
; Gui xh:show,x%起始x% y%起始y% NoActivate,test
; }
; Else
; gui xh:hide
; }
@而今迈步从头越 我的TC与你的不太一样,我的是按字母或者数字时立即搜索并筛选过滤文件列表,我的是飞扬时空的
确实是一个非常好用的基础工具
大佬链接呢