[AHK]获取下单窗口的控件列表

54 篇文章 28 订阅


如果知道下单界面控件的 ahk_class  或 ahk_id(即hwnd)就可以用 controlsend来自动下单。


比如证券代码输入框的hwnd是ctrHwnd,则发送 股票代码600050到代码窗口例子如下:

controlsend,,600050,ahk_id %ctrHwnd%

以下这两个截图,是通达信单独下单程序(Tc.exe)中的控件信息 ,

可以用星雨朝霞的ahkinfo1.3.5脚本来手动查看相应控件信息,如下操作:

参考星雨朝霞的ahkinfo1.3.5脚本改造如下,以下脚本各位使用时请调整第二行配置

Gui,+Resize
target:="ahk_exe Tc.exe"
Gui, Add, ListView, Checked h600 w800,  类别名|ID|句柄|文本  ; 创建 ListView.
WinGet,CtrList,ControlList,%target%
	LV_Delete()
	Loop, Parse,CtrList,`n
	{
		ControlGet,CtrlHwnd,Hwnd,,%A_LoopField%,%target%
		CtrlID:= DllCall("GetDlgCtrlID", uint, CtrlHwnd)
		if (CtrlID<=0 )
			CtrlID=
		ControlGetText,CtrlText,%A_LoopField%,%target%
		ControlGet,Visible,Visible,,%A_LoopField%,%target%
		if (Visible=1)
		{
			Visible=Check
		}
		else if (Visible=0)
		{
			Visible=-Check
			;~ continue
		}
		LV_Add(Visible,A_LoopField,CtrlID,CtrlHwnd,CtrlText)
		LV_ModifyCol(1,"","类别名[列表](" A_Index ")")
	}
;~ LV_ModifyCol("Hdr")  ; 自动调整列宽.
LV_ModifyCol()  ; 根据内容自动调整每列的大小.
Gui Show
return

GuiClose:  ; 当用户关闭 ListView 所在 GUI 窗口时退出脚本.
ExitApp

 

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
获取屏幕所有控件,可以使用 AutoHotkey 的内置函数 WinGetClassList 和 ControlGet,它们可以获取窗口中所有控件的类名和控件信息。 以下是一个示例脚本,可以获取窗口中所有控件的类名和控件信息: ``` ; 获取窗口句柄 WinGet, hWnd, ID, YourWindowTitle ; 获取窗口中所有控件的类名 WinGetClassList, classes, ahk_id %hWnd% ; 遍历所有控件获取控件信息 Loop, Parse, classes, `n { ; 获取控件信息 ControlGet, ctrlHwnd, hwnd,, %A_LoopField%, ahk_id %hWnd% ControlGetText, ctrlText, %A_LoopField%, ahk_id %hWnd% ; 输出控件信息 MsgBox, % "Class: " A_LoopField "`nHwnd: " ctrlHwnd "`nText: " ctrlText } ``` 要根据控件信息筛选目标控件并点击该目标控件,可以使用 ControlClick 函数,它可以根据控件的类名、控件名称、控件文字等信息来点击控件。 以下是一个示例脚本,可以根据控件的类名和控件文字来点击目标控件: ``` ; 获取窗口句柄 WinGet, hWnd, ID, YourWindowTitle ; 获取目标控件的类名和文字 targetClass := "Button" targetText := "OK" ; 遍历所有控件,查找目标控件 Loop, 100 { ; 获取控件信息 ControlGet, ctrlHwnd, hwnd,, %targetClass%%A_Index%, ahk_id %hWnd% ControlGetText, ctrlText, %targetClass%%A_Index%, ahk_id %hWnd% ; 如果找到目标控件,就点击它 if (ctrlText = targetText) { ControlClick, % "ahk_id " ctrlHwnd break } } ``` 注意,以上示例脚本只是演示如何获取控件信息和点击控件,具体的实现方式可能需要根据实际情况进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值