原谅我伸手
我实在搞不定这个 ahk
1
summerwar 1 天前
```
#Requires AutoHotkey v2.0 ; 热键触发命令面板 ^+p:: ; Ctrl+Shift+P { myGui := Gui() myGui.Add("Text", , "请选择一个命令:") myddl := myGui.Add("DropDownList", "vChooseCommand", ["Command 1", "Command 2", "Command 3", "Exit"]) myddl.OnEvent("Change", DDLChanged) myGui.Show("xCenter yCenter AutoSize") } ; 创建下拉列表,使用 ComboBox 控件,功能更强大 DDLChanged(obj, *) { MsgBox("选择了 " . obj.value) ;显示 obj 的所有内容 } ``` 简单写了下,其中 obj.value 的值是选中的序号,剩下的自由发挥吧 |
3
chenqh OP 我先试一试.
|
5
summerwar 1 天前
我看了下,vscode 的 ctrl+shift+P 调出来的可不是 dropdownlist ,明明是个 input ,然后根据 input 的内容,筛选命令,然后 enter 确定
|
7
summerwar 1 天前
@chenqh #6 调出来的面板有两个,一个是 input ,一个是 listbox ,input 用来输入内容,listbox 是你的所有命令的一个列表,当 input 为空时,显示全部命令,当 input 输入内容时,监听 input 的 change 方法,在里面根据 input 的内容过滤命令,将过滤后的显示在 listbox 里,当键盘往下时按 Enter 或者鼠标点选时,将当前的 listbox 的选中内容放置到 input 中,然后运行这个命令,执行相对应的命令内容就好了。
大致的思路就是上面的 |
8
summerwar 1 天前
|