shimenshan 发表于 2013-10-28 00:38:57

如何设置其他软件combobox的选项值(未解决)

本帖最后由 shimenshan 于 2013-10-28 12:18 编辑

这个软件源码我没有,就是要做一个自动给每个控件设置特定的值。
软件中有数个COMBOBOX控件,其中几个有关联关系。就是选择地址,省、市、区这种。
这种控件的值要如何设置?(例如省份的控件下有包含各省份的下拉菜单,我要将它的值设为北京)

刚开始用AUTOIT,也刚来这个论坛。
烦劳各位多指点。

nmgwddj 发表于 2013-10-28 05:28:04

ControlSetText可以的吧?
先用工具获取第三方程序的窗口文本或句柄,找到这个ComboBox的控件ID,使用ControlSetText修改就可以的。

shimenshan 发表于 2013-10-28 12:17:19

回复 2# nmgwddj


    感谢回复。

这个方法我试了,没用。。。
省份的下拉条中有北京,但是我用这个函数设置“北京”没有放映。

nmgwddj 发表于 2013-10-28 13:31:05

回复 3# shimenshan

测试窗口,先运行这个程序:


然后运行如下代码可以看出效果:
;test select combobox
#include <GuiComboBox.au3>

;等待标题为Test From1的窗口出现并获得窗口句柄
$hWnd = WinWait('Test From1')
;激活窗口
WinActivate($hWnd)
;获得ComboBox1的句柄
$hComboBox = ControlGetHandle($hWnd, '', 'ComboBox1')
;选择索引为1的项目
_GUICtrlComboBox_SetCurSel($hComboBox, 1)

$hComboBox = ControlGetHandle($hWnd, '', 'ComboBox2')
;搜索字符串选择(不可编辑的ComboBox下拉框)
_GUICtrlComboBox_SelectString($hComboBox, 'shanghai')

shimenshan 发表于 2013-10-29 17:20:27

回复 4# nmgwddj

很有用,解决了,非常感谢!

我冒昧再请教一个问题,如下图。


这种控件怎么自动选择日期?

谢谢!

nmgwddj 发表于 2013-10-30 10:31:07

回复 5# shimenshan


    这个我还真没研究过。

snailyyy 发表于 2013-10-30 12:34:17

自动选择日期? 不改日期控件的日期 不就是默认计算机的时间吗?

shimenshan 发表于 2013-10-30 21:47:47

回复 7# snailyyy

感谢回复,我要的功能就想图片上一样,是一段时间的起止日期设置。
我在文件中读出这个时间,自动对这个日期控件进行设置。
要怎么实现?

snailyyy 发表于 2013-10-30 22:03:41

回复 #include <GUIConstantsEx.au3>
#include <DateTimeConstants.au3>
Local $date, $DTM_SETFORMAT_, $style

GUICreate("My GUI get date", 200, 200, 800, 200)
$date = GUICtrlCreateDate("1953/04/25", 10, 10, 185, 20)

$DTM_SETFORMAT_ = 0x1032 ; $DTM_SETFORMATW
$style = "yyyy/MM/dd HH:mm:ss"
GUICtrlSendMsg($date, $DTM_SETFORMAT_, 0, $style)

GUISetState()
While GUIGetMsg() <> $GUI_EVENT_CLOSE
WEnd

MsgBox(0, "Time", GUICtrlRead($date))不知道你的意思是不是要设置一个时间控件要显示的时间如果是的话就是上面这个
页: [1]
查看完整版本: 如何设置其他软件combobox的选项值(未解决)