2014年3月20日 星期四

利用 AutoIT 自動點擊撥號按鈕

我在家裡的筆電上面跑了很多虛擬機器,而且在虛擬機器裡面用了 Sandboxie 這套沙箱程式,為了讓每部虛擬機器都取得真實 IP,所以它們都是用撥接上網,但是時間久了發現,Sandboxie 會卡一個撥號視窗,而且會把沙箱內的程式上網暫時停住,所以我每天要找個時間連線回家看看是否需要我自己手動把這個視窗點掉,但每天都要做這件事實在太累了!這不弄個自動程式幫忙怎麼可以!

我用 AutioIt 寫了一個小程式幫助我自動點擊撥號對話視窗上的連線按鈕,實際的程式如下:
While WinExists("[CLASS:#32770]")
   ControlClick("撥號連線", "", "[ID:1026]")
   Sleep(1800000) ; 每半小時檢查一次
WEnd
很簡單的三行程式碼就解決了我每天要檢查的事情,是不是很簡單呢?
完成這個小程式我做了幾件事:
  1. 利用 AutioIt Window Info 這個工具先把撥號視窗的一些資訊查詢出來
  2. 搜尋 AutioIt 自動點擊按鈕的範例程式
  3. 搜尋一下 AutioIt While 語法
  4. 修改範例程式成自己需要的樣式
所以雖然我不是很懂 AutoIt 的程式該怎麼寫,但還是完成了我的需求囉!
AutioIt 程式寫好後還可以編譯成執行檔,超方便的!因此就可以讓每部虛擬機器在不安裝 AutoIt 狀況下也可以享用寫好的程式!讚啦!