パソコンの起動と同時に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ステーションのウィンドウ名が「ログイン」から変更されると動作しない。


バージョンアップなどの特殊な条件以外では、基本的に動作すると思います。仕様変更で動作しなくなれば、こちらの記事に修正点などを追加する予定です。

これで完全自動売買にまた一歩近づきました!