利用 AutoIt 工具擷取 「元大 Yeswin」控制項的問題記錄

目的: 擷取「元大 Yeswin」的 “[1210]漲跌家數” 的即時數據,轉到如 Excel 或 Wealth-Lab 以顯示「漲跌家數走勢圖」。

工具:使用 AutoIt v3,可以撰寫巨集(macro scripts),除了可以自動登入並啟動 Yeswin 並打開特定的視窗外 (如啟動技術分析/成交明細視窗),還可以透過內建的函數(function)讀取視窗控制項內的資料。

問題:
AutoIt 這個強大又免費的工具是由「聚財網—飆股理財&程式交易聯誼會」論壇的版主,也是程式交易的名人 凌波微步 大大先生所推廣,並應用於 “從免費看盤軟體(yeswin or HTS)擷取即時數據至 Wealth-Lab”,以及 “自動化程式交易下單”。

參考他其中一篇文章:「用Autoit 擷取Yeswin簡易版奇狐的即時成交明細」,從其中可以知道要擷取即時數據到外部系統,可以說是相當容易的一件事。

從其中程式碼可以發現,「Yeswin 的即時成交明細」視窗,是利用 “SysListView” 控制項實作的,而在 AutoIt 內建的函數,即有提供諸多該控制項的處理,最重要的當然就是要擷取其內的數據。利用 AutoIt 內含的 “Window Info” 工具即可察看相關資訊,以方便供程式撰寫,參考下圖。

autoit-v3-screentshot-01
點擊圖可察看原圖

但是,當我想擷取 “[1210]漲跌家數” 的控制項數據,從該工具的資訊顯示,該控制項的類別為 “WindowsForms.Window”? 參考下圖。

autoit-v3-screentshot-02
點擊圖可察看原圖

這我就很納悶了,我對 Windows-based 的 GUI 控制項實在陌生,查閱 MSDN 的「System.Windows.Forms 命名空間」 也是不知所以然。 實驗了好幾次,都無法利用 AutoIt 來擷取該控制項的相關數據。

不知道是否有熟悉 Windows GUI 結構的網友們可以協助提供建議呢?

文章導覽

   

共有 2 則迴響

  1. 請問 kenming 大大,您這一篇文章已是很多年前的了,不知您後續有沒有解決這個問題,或是找到其他更好的方案

    • 我早已放棄 AutoIt 抓取資料的研究耶,這畢竟是不正常的方法。

      還是老實從券商的報價系統撈資料吧。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *