kabuステーションの起動画面にユーザID、パスワードを入力するスクリプト(VPSでリモートデスクトップ切断時用)
リモートデスクトップ切断時も動作するUWSCスクリプトにはコツがある
UWSCはWindowsの画面操作を代替するアプリケーションです。そのため、マウス操作の座標を記録して、自動的に操作を再現する機能があり、よく使われているようです。
しかし、VPSでリモートデスクトップ切断時は、座標を指定して操作するという部分が全く使えません。
しかし、UWSCには座標ではなく、画面タイトルから画面IDを取得し、それをもとに操作を行う機能もあります。こちらは自動記録ではなく、プログラミング作業が必要となりますが、安定して画面操作を再現でき、VPSでリモートデスクトップ切断時にも問題なく動作します。
kabuステーションログイン用UWSCスクリプト
// 口座番号はkabuステーション起動時に自動入力されるようにしておく
// パスワード
kabucom_password = "***自分のパスワード***"
// kabuステーションのウィンドウのタイトル名
kabustation_title = "ログイン"
// タイトル名からウィンドウIDを取得
window_id = GETID(kabustation_title)
// ウィンドウをアクティブ化
CTRLWIN(window_id , ACTIVATE)
// パスワードを入力
// 最後の引数の1は操作可能コントロール部品の順番を表す
// 口座番号が自動入力されている状態だと、kabuステーション起動直後のカーソルは
//パスワードに当たっているため1を指定する
SENDSTR(window_id , kabucom_password, 1)
//Enterキー入力(ログインボタン押下と同じ効果)
//ソフトウェアキーボード(パスワード入力欄の横のボタンを押下で出てくる画面)を含めた
//順番指定が難しいためEnterキー入力でログインボタンを押下を代替する
KBD(VK_RETURN)
タスクスケジューラで、kabuステーション起動後に動作するように設定する
上記のUWSCスクリプトを、先に設定したkabuステーション起動用タスクの後に動作するようにします。kabuステーション起動時に自動的にバージョンアップが動作することがあるので、私の場合は大事を取ってkabuステーション起動の30分後に、ログインスクリプトが動作するようにしています。
コメント