如题,目前我只能通过ControlGet获取对应listbox里的所有文本,我现在的想法是通过遍历文本和listbox初始坐标然后计算对应的位置
再通过mousemove到坐标点击,但是这种方式在不通屏幕分辨率估计不够准确,有没有其他什么方法可以直接点击listbox里的指定选项?
如何获取control为listbox里的其中一项
Moderators: tmplinshi, arcticir
Re: 如何获取control为listbox里的其中一项
a Listbox example ( ? )
or maybe ask also in english forum
or maybe ask also in english forum
Code: Select all
;- 如何获取control为listbox里的其中一项
;- https://www.autohotkey.com/boards/viewtopic.php?f=27&t=84048
;modified=20201209 added 2 buttons/guicontrol
;created =20201206
#warn
#NoEnv
SendMode, Input
SetWorkingDir, %A_ScriptDir%
Gui,2: -dpiscale
GUI,2:+AlwaysOnTop
Gui,2: Color,Black, Black
Gui,2: Font,s14 CGray,Lucida Console
Gui,2:Add, ListBox, x5 y10 w1180 h300 cYellow gRun1 vLB1a
Gui,2:add,button , x10 y330 w250 h35 gA1,URL-LINKS
Gui,2:add,button , x280 y330 w300 h35 gA2,Desktop-LINKS
GUI,2:show, NA W1200 H400 X20 Y10,Test
gosub,a1
return
;----------------------------------------------------------
2GuiClose:
ExitApp
;-----------------
Run1:
Gui,2: Submit, Nohide
try
run,%lb1a%
return
;-------------------------
a1:
e2:="
(Ltrim join|
http://www.xinhuanet.com/english/2020-11/14/c_139516497.htm
http://www.xinhuanet.com/
https://www.theguardian.com/
https://www.dr.dk/radio/
https://news.google.com/news/headlines?hl=nl
http://thesciencepost.com/
"
)
GuiControl,2:,LB1a,|
GuiControl,2:,LB1a,%e2%
return
;-------------------------
a2:
GuiControl,2:,LB1a,|
fd1=%a_desktop%
e:=""
Loop, Files, %fd1%\*.*,D ;- desktop folders
e .= A_LoopFileFullPath . "|"
;Loop, Files, %fd1%\*.lnk , R ;- desktop *.lnk ( links )
; e .= A_LoopFileFullPath . "|"
GuiControl,2:,LB1a,%e%
return
;===============================================================
Last edited by garry on 10 Dec 2020, 15:17, edited 2 times in total.
-
- Posts: 76
- Joined: 10 Aug 2019, 01:49
Re: 如何获取control为listbox里的其中一项
listbox 的選項顯示的文字和觸發的功能都是「人寫的」。
修改腳本,在字串寫入 listbox 之前給它們一個變量,調用這個變量即可獲得所有的字串。
把選項觸發的功能寫成函數,然後調用函數就行了,不需要叫出 listbox。
修改腳本,在字串寫入 listbox 之前給它們一個變量,調用這個變量即可獲得所有的字串。
把選項觸發的功能寫成函數,然後調用函數就行了,不需要叫出 listbox。
Re: 如何获取control为listbox里的其中一项
我可能没说清楚 ,我想使用ahk来模拟点击其他程序,不是我自己使用ahk写ListBox程序,现在问题是ahk好像只能使用controlget获取到LIstBox里所有选项组成的一个巨大的字符串,而不能获取到ListBox内部选项的control信息,所以我想问问有没有什么其他函数或者命令有这种功能,如果实在不行我只能自己计算坐标然后模拟移动鼠标并点击了。。fwejifjjwk2 wrote: ↑08 Dec 2020, 08:35listbox 的選項顯示的文字和觸發的功能都是「人寫的」。
修改腳本,在字串寫入 listbox 之前給它們一個變量,調用這個變量即可獲得所有的字串。
把選項觸發的功能寫成函數,然後調用函數就行了,不需要叫出 listbox。