パソコンの起動と同時にkabuステーションに自動ログインする方法
auカブコム証券でAPI接続サービス「kabuステーション API」が始まりました。
このサービスは無料で使えて便利なのですが、Windowsパソコン用の取引ツールである「kabuステーション」を常時起動する必要があります。
自分はAPIを使った株の完全自動売買を目指しているので、kabuステーションの自動起動&自動ログインは必須条件でした。そして苦労の末に解決法を見つけたのでシェアいたします。
UWSCをインストールする
uwscというWindowsを自動操作するソフトをインストールします。公式サイトは何故か停止していたので「ベクター」からダウンロードしました。
kabuステーションが起動した状態でかつ「口座番号は入力済み」で「口座番号を保存する」にチェックが入った状態でuwscで以下のコードを実行するとログインできます。
//---カブコム証券のログインパスワード
kabucom_password = "xxxxxxxxxxxx"
//---kabuステーションのウィンドウのタイトル名
kabustation_title = "ログイン"
//---タイトル名からウィンドウIDを取得
window_id = GETID(kabustation_title)
//---IDが見つかれば実行する
IF window_id <> -1 THEN
//---ウィンドウをアクティブ化
CTRLWIN(window_id , ACTIVATE)
//---2秒待つ
SLEEP(2)
//---パスワードを入力する
SENDSTR(window_id , kabucom_password)
//---2秒待つ
SLEEP(2)
//---エンターキーを押す
SCKEY(window_id , VK_RETURN)
ENDIF
ログインが確認できたらファイル名を「kabucom_login.uws」として保存します。
自動実行用のバッチファイルを作成する
デスクトップ等に「start_kabucom.bat」という空のファイルを作成して編集します。
timeout 60
"C:\Users\kabucomapi\Desktop\uwsc5302\UWSC.exe" "C:\Users\kabucomapi\Desktop\kabucom_login.uws"
この例では、ユーザー名「kabucomapi」のデスクトップ上にある「UWSC.exe」が、同じデスクトップ上の「kabucom_login.uws」を読み込んで実行します。ご自身の環境に置き換えて保存してください。
先頭行の「timeout 60」はプログラムが実行されるまでの待ち時間です。実行テスト時には3秒などに変更してテストしてください。
kabuステーション自動ログインの実行
「start_kabucom.bat」をダブルクリックすると、待ち時間分のカウントダウンの後にプログラムが実行されます。以下が実際に動作している様子です。
スタートアップへのショートカットの登録
「kabuステーション」と「start_kabucom.bat」のアイコンを「右クリック」→「送る」→「デスクトップ(ショートカットを作成)」を実行します。
作成した2個のショートカットを「スタートアップ」フォルダに配置します。
C:\Users\ユーザー名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
「スタートアップ」フォルダは通常上記の場所にあります。
パソコン起動時の挙動
パソコン起動時(パスワードを設定している場合にはサインイン時)に、まず「kabuステーション」が起動します。60秒間のカウントダウン後に自動ログインが実行されます。
既知の問題
・kabuステーションのバージョンアップが実行される場合には、待ち時間が60秒では足らない可能性がある。
・kabuステーションのバージョンアップ時に「バージョンアップしますか?」等のプロンプトが出現したときには動作しない。
・kabuステーションのウィンドウ名が「ログイン」から変更されると動作しない。
バージョンアップなどの特殊な条件以外では、基本的に動作すると思います。仕様変更で動作しなくなれば、こちらの記事に修正点などを追加する予定です。
これで完全自動売買にまた一歩近づきました!