2009年3月5日 星期四

台鐵網路訂票

一開始的想法是這樣的,如果我能寫個程式,讓電腦幫我去按訂票的那個鈕的話,是不是可以省下我不少時間呢?嗯,想要偷懶一直是人類之所以會進步的原因。剛好我學過一點點Delphi,Delphi有個元件叫WebBrowser,可以讓你載入網頁,如果我能將網頁載入,然後將滑鼠移到按鈕上,讓他每60秒幫我按一次,那應該會幫我訂到票吧?於是我寫了一些程式碼,類似這樣

按某按鍵後載入訂票網站
WebBrowser1.Navigate(WideString('http://railway.hinet.net/'));

按某鍵後開始按網頁上的「開始訂票」
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
當然上面那二行必須要設timer讓他每隔60秒就去執行

就這樣,很簡單就完成了幫忙按訂票的程式了,試過以後當然缺點很多啦,例如
一、使用時會獨佔一台機器,無法再做其他事。因為他是要按螢幕上的某個地方,所以我們不能再操作這台電腦,只能放著讓他自己執行。
二、效率不彰,有時瀏覽器還會當掉。上面的程式很陽春,沒有去判所當我們按下按鈕後是否有執行成功(回應200),執行成功是否有訂到票,這些都是可以再改進的地方。

沒有留言:

張貼留言