ほとんどタイトルオンリー。日経テレコンを見るためだけに楽天証券の口座を作ったが、アクセスするのにMarketSpeedなるソフトを起動して毎回パスワードを打ち込む必要がある。クソ面倒臭い。気の利いた人がなんか策を考えてくれているだろうと思って検索したところ見つかった。
14年前のページなのでVBscriptなる古代言語で書かれている。これを参考に適当なスクリプト言語で書き換えれば良いのだが、2024年を生きる我々21世紀人にはChatGPTという強い味方がいるのでChatGPTにPowerShellスクリプトに書き換えて貰った。
起動時ログインIDは環境設定で登録し、ついでに日経テレコンが一番最初に表示されるように、F2に日経テレコンを設定しておく。(前記サイトの通りF1は総合サマリーを設定しておこう)
PowerShellスクリプトは下記の通り。
# PowerShell スクリプト # WshShell オブジェクトの作成 $wshShell = New-Object -ComObject WScript.Shell # カレントディレクトリの設定 $wshShell.CurrentDirectory = "C:\Program Files (x86)\MarketSpeed\MarketSpeed" # アプリケーションの実行 $process = Start-Process -FilePath "C:\Program Files (x86)\MarketSpeed\MarketSpeed\MarketSpeed.exe" -PassThru # カレントディレクトリの再設定 $wshShell.CurrentDirectory = "C:\Program Files (x86)\MarketSpeed\MarketSpeed" # アクティブなウィンドウの変更 $ret = $wshShell.AppActivate($process.Id) # 1000 ミリ秒待機 Start-Sleep -Milliseconds 1000 # キーの送信 $wshShell.SendKeys("% X") # 1000 ミリ秒待機 Start-Sleep -Milliseconds 1000 # ウィンドウのアクティブ化 $MS_WINDOW_TITLE = "Market Speed Ver17.10" #バージョンが変わったらここは変更する $ret = $wshShell.AppActivate($MS_WINDOW_TITLE) # 100 ミリ秒待機 Start-Sleep -Milliseconds 100 # キーの送信 $wshShell.SendKeys("{F1}") # 100 ミリ秒待機 Start-Sleep -Milliseconds 100 # キーの送信 $wshShell.SendKeys("{ENTER}") # 100 ミリ秒待機 Start-Sleep -Milliseconds 100 # パスワードの送信 $wshShell.SendKeys("password-hogehogehogehoge-password") # 100 ミリ秒待機 Start-Sleep -Milliseconds 100 # Enter キーの送信 $wshShell.SendKeys("{ENTER}") # 1000 ミリ秒待機 Start-Sleep -Milliseconds 1000 # F2 キーの送信 $wshShell.SendKeys("{F2}") # 100 ミリ秒待機 Start-Sleep -Milliseconds 100
これをMarketSpeedAutoLogin.ps1として保存(名前は何でもいい)し、PowerShellで実行すれば…起動しない。管理者権限でないと動かないようだ。そこでbatファイル経由で実行させる。
powershell -ExecutionPolicy RemoteSigned C:\hoge\MarketSpeedAutoLogin.ps1
なおPowerShellファイルの置き場は絶対パスで指定する必要があるようだ。この1行をMarketSpeedAutoLogin.batと保存する。これをダブルクリックすれば起動して日経テレコンの遷移画面まで一気に飛ぶはずだ。
PCの環境によっては待機時間を100ミリ秒から伸ばした方が良いかもしれないので適当に調整されたい。まぁここまでやったが実際は面倒で読まない日の方が多いがそれは別の話である。
以上