Listview 如何使用自动热键将列表视图中的复选框设置为选中状态
我正在编写一个自动热键脚本,需要在listViewControl中定义“选中”和“取消选中”复选框 我认为这样做的方法是使用LVM_SETITEMSTATE参数向listview(或者可能向listview项本身?)发送消息 但我不知道确切的格式…有人知道吗Listview 如何使用自动热键将列表视图中的复选框设置为选中状态,listview,checkbox,sendmessage,autohotkey,Listview,Checkbox,Sendmessage,Autohotkey,我正在编写一个自动热键脚本,需要在listViewControl中定义“选中”和“取消选中”复选框 我认为这样做的方法是使用LVM_SETITEMSTATE参数向listview(或者可能向listview项本身?)发送消息 但我不知道确切的格式…有人知道吗 SendMessage, LVM_SETITEMSTATE, 1000, SysListView321 我认为1000意味着复选框将被选中,2000意味着他将被取消选中 是否需要为每个ListViewItem执行循环 我还试着使用 LV
SendMessage, LVM_SETITEMSTATE, 1000, SysListView321
我认为1000意味着复选框将被选中,2000意味着他将被取消选中
是否需要为每个ListViewItem执行循环
我还试着使用
LV_Modify(0, "+Checked")
但它似乎也不起作用
为了强调这个问题,我不是在创建自己的列表视图,而是在试图操纵现有应用程序列表视图的状态。。。。
(我正在运行安装程序,并使用自动热键脚本按下每个屏幕上的“下一步”按钮,但在此屏幕中,我需要首先选择所有组件,然后才移动到下一个屏幕)
这里有自动热键专家吗?解决此问题的一种方法(非优雅的方法)是: 你知道更优雅的方式吗
ControlGet, List, List,, SysListView321,,,,
{
Loop, Parse, List, `n ; Rows are delimited by linefeeds (`n).
{
RowNumber := A_Index
Loop, Parse, A_LoopField, %A_Tab% ; Fields (columns) in each row are delimited by tabs (A_Tab).
{
if A_Index = 3
{
IfInString, HaystackTemp, %A_LoopField%
{
ControlSend, SysListview321, {Space}
}
}
}
ControlSend, SysListview321, {Down}
}
}