deongi 发表于 2014-10-21 14:56:36

非標準控件獲取文本繞道操作

遇到的問題是:獲取ControlID不斷變化的控件的文本,
每次啟動軟件, 窗體上的label文本會隨著查詢得到的數據而變化, 可恨的是這個label的ControlID也變化, 本想用ControlGetText, 需要ControlID, 試過很多方法獲取ID都不成功:
1, 通過Handle
2, 通過固定的Class+Instance,
3, 通過ClassnameNN
這些方法都失效.
根據搜索, 找到DllCall, 也不成功, 應該說我還不會用.
又搜到用API函數, 有兩類一類:_GetWinInfoFromPoint($title, $text, $_x, $_y, $RtFlag = 1) 這個仍需要窗體的title, 恐失效,沒用, 使用第二類通過控件所在屏幕位置獲取控件文本, 成功!
MsgBox(64, "", "text: " & WinGetTitle(_WinAPI_WindowFromPoint(_WinAPI_CreatePoint(1236, 230))))

這個還是根據風行者老大的一個例子, 根據獲取鼠標所在位置的控件,改編過來的,將鼠標X,Y固定.
页: [1]
查看完整版本: 非標準控件獲取文本繞道操作