以下の関数を使用すれば、当該 url 先のテキスト情報を取得し、それから AutoHotkey の RegExMatch によって選別した文字情報を表示する。URLDownloadToFile - AutoHotkeyJpではなくてCOMを使用している。この COM を経由する動作を用いることに、どういう利点があるのだろうか。利点の一つは、取得しようとしているファイルが見つからなかったとき、つまり HTTP のレスポンスのステータスコードが 404 を返したときを検出できることにある。詳しくは、WinHttpRequest Object (Windows)を参照のこと。
これを改変すれば、ウェブページの簡単な更新プログラムを作成できるだろう。
msgbox,% get_text_from_web("http://blechmusik.xii.jp/resources/keyboard_layout/DvorakJ/doc/README.txt" , "(?<=■ )(\d{4}-\d{2}-\d{2})(?= 版)") return
上記の例は、DvorakJ の README から更新情報を取得するものだ。
get_text_from_web(p_strURL, p_pattern = "") ; COM Object Reference [AutoHotkey_L] ; http://www.autohotkey.com/forum/viewtopic.php?p=377651#377651 ; ; download text from web and ; return the text { WebRequest := ComObjCreate("WinHttp.WinHttpRequest.5.1") WebRequest.Open("GET", p_strURL) WebRequest.Send() ;; HTTP_response_status_code := WebRequest.Status if ( WebRequest.Status != 200 ) { msgbox, % "Error: HTTP_response_status_code is not 200." } if ( p_pattern ) { RegExMatch(WebRequest.ResponseText, p_pattern, ver) return ver } else { return WebRequest.ResponseText } }