VBScripからPowershellに代替

今まではVASSAL Global Key Commandの一括化AutoHotkeyで指定キーからアプリが起動できる
VASSALユニットの画像名称を取得してきた。
しかし、その中で使っているVBScriptが将来廃止されるとの事で、代替方法を見つける必要がある。
その方法を以下にメモしておく。

1.実現方法
1.1基本的な考え方
(1)VBScriptファイルとバッチファイルを使わない。
(2)UWSファイルをPowershellから起動する。
(3)コマンドプロンプトを非表示にする為にPowershellのHiddenオプションを使う。
 (補足)今までのバッチファイルを直接起動すると、コマンドプロンプトが必ず表示される。

1.2具体的な方法
(1)UWSファイルのショートカットを作り、以下の設定を行う。ポイントは次の3つ。
 (A)リンク先のPowershellのオプションにWindowStyle Hiddenを指定。
    →コマンドプロンプトを非表示にする為。
 (B)リンク先のPowershellのオプションにExcecutionPolicy RemoteSignedを指定。
    →PowerShellスクリプトを実行可能にするため為。
 (C)実行時の大きさを最小化にする。
    →コマンドプロンプトを非表示にする為。(この設定をしないと一瞬コマンドプロンプトを表示する)

(2)ahkファイルの内容は、起動するプログラムを今までのVBScriptファイルではなく、
   上記のショートカットに変更する。(下図の枠内)

2.実行結果
  海兵第2連隊第1大隊のユニットにカーソルを置いてF1キーを押すと
  下図のように小ウィンドウが表示されて画像名称を取得できる。
  この時にコマンドプロンプトは表示されない。

3.参考資料
  下記のWEBページにお世話になりました。ありがとうございます。
 ・Windowsでウインドウを表示しないスクリプトの実行方法

<個人的な感想>
いや~、PowerShellは分かり難くエラー発生、動作しないなど苦戦した。
諦めかけていた時に上記WEBページを見つけて何とか実現できた。とても有り難い。

なお、直ぐに今回の代替方法に移行するか、暫く様子を見て移行するかは今後決める予定。