UWSCを使ったソフト自動立ち上げ【SoftEther VPN Server】

公開日: : VPN, ソフト, 画像処理, 自動化

スポンサーリンク

やりたいこと

最近SoftEtherという筑波大学発のベンチャー企業が立ち上げたVPNサービスというものを知りました。外出先でも自宅ネットワークにつなげることができるものです。

これを使うには自宅のPCでVPNサーバーアプリ(SoftEther VPN Server)を立ち上げる必要があるのですが、それをPCの起動に合わせて自動で立ち上げるよう設定しました。本記事はそのときのメモです。(※SoftEtherの詳細については今回省略します)
ちなみに今回対象のOSはWindows10です。

VPNサーバーの自動起動

VPNサーバーソフトをスタートアップに登録すると下の管理画面が立ち上がります。

この画面の状態ではまだサーバーは立ち上がっておらず、画面右下の「接続」を押して立ち上げる必要があります。このボタンを押すと下のようなウィンドウがでて、接続状態が確認できるようになります。

恐らく、自動で接続まではできないようなので?(もしかしたらできるかもしれない)、この「接続」ボタンをPC起動およびVPNサーバーソフト起動に合わせて自動で押してくれるようにしました。

UWSCを使った指定個所自動クリック

UWSCとは

今回の課題解決のためにUWSCというソフトをインストールしました。これはWindowsを自動操作するソフトです。あらかじめスクリプトを仕込んでおけばその通りにPCを動かすことができるようです。簡単な画像処理を用いた操作にも対応しており、今回はボタンの画像を用意してそこをクリックさせるように指示しました

ボタンをクリックさせる

まずはボタン画像の用意をしました。キャプチャから該当箇所を切り取って24色bmpで保存します。(Cの下にアンダーバーがついたりつかなかったりするので「接続(」までで良いと思います)


↑この画像はPNGですので使わないでください。念のため。

画像は全く同じでないとマッチングしないようであり(典型的なテンプレートマッチングと思われる)、画面の表示は直前まで接続していたディスプレイに依存する?ようなのでサイズの違う複数ディスプレイやリモートデスクトップでつないだ時の画像も用意した方がいいかもしれません。自分はリモートでつないだ時フォントが変更されていたので一応その画像も用意しました

そしてできあがったスクリプトがこれです
test.uws

IFB CHKIMG("vpnbtn1.bmp")
 MMV(G_IMG_X+5, G_IMG_Y+5)
 BTN(LEFT,CLICK)
ELSEIF CHKIMG("vpnbtn2.bmp")
 MMV(G_IMG_X+5, G_IMG_Y+5)
 BTN(LEFT,CLICK)
ELSEIF CHKIMG("vpnbtn3.bmp")
 MMV(G_IMG_X+5, G_IMG_Y+5)
 BTN(LEFT,CLICK)
ELSE
 MSGBOX("失敗")
ENDIF

これは指定の画像の画面上の位置を探してきてその座標(より少し内側)をクリックさせるというもので、3種類のボタン画像を用意してそれぞれ一通り試して見つかり次第指定個所にクリックさせています。

(それぞれの画像は基本的に同じ「接続(」の画像で、フォントがちょっと違うだけです。別に1枚だけでも構いません)。

一応クリック個所は画像より5px内側を指定しています。
そしてもし失敗したら最後「失敗」というダイアログがでるようになっています。

これを実行するにはファイルの拡張子を「uws」で保存して、それを「UWSC.exe」で開けるように規定のプログラムを設定してからファイルをダブルクリックするとスクリプトが動くようになります。

この段階で、VPNの管理画面を開いた状態で今作ったスクリプトを動かせば「接続」できるはずです。

PC起動時の自動起動

スタートアップ設定

PCが立ち上がった時VPNサーバーの自動起動および今回作成したボタンクリックスクリプトを自動で動くようにスタートアップに指定しておきました。ただ単に、スタートアップフォルダにVPNサーバーの実行ファイルのショートカットと今回作成したUWSファイルのショートカットを入れるだけです。

だが、これで本当にいいのでしょうか?

バッチファイルを使った遅延起動

今回作成したスクリプトはVPNの管理画面がちゃんと出た後に起動させないと意味がなく、管理画面が開く前にスクリプトが動いてしまった場合思惑通りに動いてくれません。そこでバッチファイルを使ってUWSファイルだけ遅れて起動させるようにしました。

バッチファイル作成

timeoutで指定秒ストップさせた後にUWSスクリプトを起動させるようにできました。これをどこでもよいので保存してダブルクリックすれば動作確認できます。さすがにアプリ実行後に5秒くらい待てばちゃんと管理画面くらい立ち上がるだろうという思惑です。もちろん10秒や20秒にしても構いません。これで万事OK?

timeout 5
SET file=C:\Users\gagambo\Documents\uwsc523\src\test.uws
SET exe=C:\Users\gagambo\Documents\uwsc523\UWSC.exe
START "" "%exe%" "%file%"

↑対象ファイルとアプリを指定して起動させています。パスは自分の環境に合わせてください。

一応これでも動いてはいると思いますが、バッチ起動時に出てくるコマンドプロンプトがいつか邪魔してしまうのではないかと不安が残ります。

コマンドプロンプトを消す

上記の理由からバッチファイル実行時にコマンドプロンプトを消すようにします。消すにはVBスクリプトを書けば消せます。

CreateObject("WScript.Shell").Run "test.bat",0

このスクリプトを先ほど作成したバッチファイルと同層に保存して、ダブルクリックで実行すれば動作確認できます。

最終的にはこのVBSファイルのショートカットを作成してスタートアップフォルダに設置すればOK。このファイル自体もダブルクリックで実行できます。

PC自動ログイン

PCの電源を入れればあとは何もしなくても自動でログインしてサーバープログラムが立ち上がるようにしたいと思ったので、ユーザアカウントの設定 ログイン自体も勝手に実施してくれるようにしました。

スポンサーリンク
  • このエントリーをはてなブックマークに追加

関連記事

WordPressサイトのSSL対応(HTTPS化)手順のまとめ【さくらサーバー】

先週頃にこのサイトをSSL対応しましたのでその流れについてまとめておき

【Google Charts】動的にグラフを更新する方法

はじめに Webサイト上でグラフを描こうと思った場合、いくつかのJa

体重変化量計算シミュレータ【ダイエット/肥満】

ツール本体 入力 カロリー入力 1日の余剰摂取/消費カロリー

おサイフケータイ対応ストレージ32GBのSIMフリースマホまとめ【2017年秋版】

はじめに SIMフリーの格安スマホのおサイフケータイ機能付きのもので

リクルート期間限定ポイントの有効な使い道

はじめに  先日クレジットカードの見直し活動の一環でポイント還元率の

初心者がお金を貯めるための節約・財テク手法まとめ【ポイント還元・投資・税金対策】

はじめに  最近なるべく節約しようと思い、お金周りに関して色々調べて

動画講座を効率的にキャプチャして復習する方法

はじめに  最近、動画媒体の講座などをたまに視聴しています。独学だと

→もっと見る

  • Author : ががんぼ
    プログラミングやWeb関係で気付いたことについてメモしていく予定。だいたいが備忘録ですが、自分でサンプルを作って動かしてみたりしています。
PAGE TOP ↑