hifi 发表于 2011-6-28 16:23:54

請教~無ID按鈕如何判定是否存在,並按下~

(如題)請教~無ID按鈕如何判定是否存在,並按下~
小弟試用MouseClick 及ControlClick,但都無法判定是否存在並按下,
勞架各路高手解迷惑~ 謝謝 {:face (52):}

飘云 发表于 2011-6-28 17:32:16

不是标准GUI的话,不一定能取到信息,试试利用相对坐标点击吧

papapa314 发表于 2011-6-28 17:53:34

用A版的窗口信息探测器以及ControlClick

hifi 发表于 2011-6-28 21:06:44

回复 3# papapa314

謝謝提供資訊~但~
小弟試用A板及ControlClick,但都無法判定是否存在並點擊~{:face (394):}

hifi 发表于 2011-6-28 21:10:23

回复 2# 飘云

謝謝提供思路~
小弟試用MouseClick,可點擊坐標,但無法判定是否存在~
還有其它方式(指令or程序)可研判嗎?

飘云 发表于 2011-6-29 09:24:57

这种情况,大概可能也许,能用颜色来判断吧,同时对数块坐标的颜色色值进行判断,都没错就是存在,有错了说明有变化了呗

hifi 发表于 2011-6-29 10:02:45

回复 6# 飘云


    圖一及圖二上有附au3 info資訊,可看出坐標顏色...沒變~ @@" {:face (52):}
圖一鼠標在"同意",圖二鼠標在"取消"~

飘云 发表于 2011-6-29 18:34:14

本帖最后由 飘云 于 2011-6-29 18:53 编辑

多块色值,不是取一块,再说每个像素点的色值是有微小差异的,另外色值是用来判断按钮存不存在,色值对了就说明存在呗,点击就是MouseClick的事了

hifi 发表于 2011-7-2 05:28:32

本帖最后由 hifi 于 2011-7-2 09:41 编辑

回复 8# 飘云


    感謝提供方式! 小弟用PixelGetColor並無法取回正確色值,會去抓到底層的色值
{:face (319):}

netegg 发表于 2011-7-2 05:53:42

本帖最后由 netegg 于 2011-7-2 05:55 编辑

api枚举界面子窗体,获取各窗体类别及句柄,然后可以不少参考信息,匹配下应该就可以了

星雨朝霞 发表于 2011-7-2 12:45:02

如果在那个地方鼠标状态有变化的可以通过获取鼠标状态来判断!
MouseGetCursor

hifi 发表于 2011-7-2 17:31:20

回复 11# 星雨朝霞


    經測試mouse並無變化 @@ " ,但按照有變色澤,就是取不到色值{:face (270):}

hifi 发表于 2011-7-2 19:03:18

回复 10# netegg

感謝提供思維~
    請提供據体指令及作法~新手上路,請多指教~   {:face (245):}

netegg 发表于 2011-7-2 19:20:56

回复 13# hifi
_WinAPI_EnumChildWindows的示例#Include <Array.au3>
#Include <WinAPIEx.au3>

Opt('MustDeclareVars', 1)

Global $hForm, $Data

$hForm = GUICreate('MyGUI', 310, 360)
GUISetFont(8.5, 400, 0, 'MS Shell Dlg', $hForm)
GUICtrlCreateGroup('Group', 10, 10, 140, 95)
GUICtrlCreateCheckbox('Check1', 22, 26, 120, 23)
GUICtrlCreateCheckbox('Check2', 22, 49, 120, 23)
GUICtrlCreateCheckbox('Check3', 22, 72, 120, 23)
GUICtrlCreateGroup('Group', 160, 10, 140, 95)
GUICtrlCreateRadio('Radio1', 172, 26, 120, 23)
GUICtrlCreateRadio('Radio2', 172, 49, 120, 23)
GUICtrlCreateRadio('Radio3', 172, 72, 120, 23)
GUICtrlCreateButton('OK', 120, 330, 70, 23)
GUICtrlCreateTab(10, 118, 292, 206)
GUICtrlCreateTabItem('Tab1')
GUICtrlCreateTabItem('Tab2')
GUICtrlCreateTabItem('')
GUISetState()

$Data = _WinAPI_EnumChildWindows($hForm)
If IsArray($Data) Then
  _ArrayDisplay($Data, '_WinAPI_EnumChildWindows')
EndIf

Do
Until GUIGetMsg() = -3

hifi 发表于 2011-7-3 07:44:18

回复 14# netegg

    謝謝提供線索~
api 不太了解~run後~這是二維last~但怎套入現有程序?~努力學習中~
页: [1] 2
查看完整版本: 請教~無ID按鈕如何判定是否存在,並按下~