UWSCの作者は死去していた
auカブコム証券のkabuステーションをUWSCという、自動操作スクリプト言語を使って自動実行するプログラムを以前書きました。
しかし、UWSCの作者の方が死去していたという情報があり、今後のメンテナンスも望めないことから、AutoItという別の自動操作スクリプト言語に移植することにしました。
AutoItは海外のチームで開発されており、現在世界で一番広く使われている自動操作スクリプトということです。
もう1つAutoHotKeyというスクリプト言語もあり、こちらはオープンソースということで、開発チームが解散などしたあとでも、より継続的なメンテナンスが見込めるのですが、今回はとりあえず一番広くつかわれていそうなAutoItに移植することにしました。
スクリプトの内容は、UWSCの場合とそう変わりありません。
記事は重複もありますが、前の記事をみてもらうのも面倒でしょうから、そのまま掲載します。
実施手順
AutoItのインストール
AutoItはコンパイルしてexeファイルにすることが可能なので、必ずしもVPSにインストールする必要はありません。別のPCにインストールし、exeファイルのみVPSに置くこともできます。
kabuステーション自動起動の設定
kabuステーションはClickOnceアプリケーションなので、ファイルをキックしても自動起動できない
冒頭でも書きましたが、kabuステーションの自動起動は直観的にはできません。kabuステーションはよくあるexe形式のファイルのアプリケーションではなく、ClickOnceと呼ばれる形式のアプリケーションだからです。
kabuステーションをインストール時に作成される以下のファイルは、アイコンからショートカット形式のファイルに見えますが、実はそうではなく、appref-ms形式というClickOnce特有の形式です。この形式のファイルは参照先が実行可能形式のファイルではないので、Windowsのコマンドプロントから直接起動することも、cmdコマンドの引数にファイル名を指定して起動することもできません。
ClickOnceアプリケーションであるkabuステーションを起動するには、Internet ExplorerからURLを指定すればよい
このappref-ms形式ファイルの実体は実はただのテキストファイルで、kaubステーションのappref-msファイルをテキストエディタで開くと、以下のようになっています。
http://download.r10.kabu.co.jp/kabustation/KabuStation.application#KabuStation.application, Culture=neutral, PublicKeyToken=51166bf540f0e773, processorArchitecture=msil
つまり、ClickOnceのappref-msファイルというのは、つまるところHTMLリンクファイルにすぎません。ClickOnce形式のアプリケーションというのは、もともと「ブラウザからリンクをクリックするだけで、ローカル端末に配布され実行される」というコンセプトのアプリケーションです。そのため、appref-msファイルはその「リンクをクリックする」という操作を代替するものなのです。
したがって、ClickOnceアプリケーションであるkabuステーションアプリケーションを自動起動する方法としては、一度Internet Explorereを起動して、そのリンク先として上記のURLを指定するということになります。
AutoItを用いてIEを起動するスクリプトを作成
AutoItを用いてIEを起動するAutoItのスクリプトファイルを作成します。
いろいろなサイトにやり方は書いてあると思いますが、私が使用しているスクリプトファイルの内容を載せておきます。
; Internet Explorer COMオブジェクトを作成
$oIE = ObjCreate("InternetExplorer.Application")
; IEウィンドウを表示(True)または非表示(False)にする
$oIE.Visible = True
; 指定したURLをIEで開く
$oIE.Navigate("http://download.r10.kabu.co.jp/kabustation/KabuStation.application#KabuStation.application")
ちなみに上記のスクリプトは、ChatGPT3.5に
autoitで、internet explorerを起動して、特定のurlをアドレスバーに入力するスクリプトを作ってください。
とお願いして作ってもらったものです。
コメント