とても簡単にVPN接続する方法-その2

2020年6月23日プログラムC#,DialogResult,MessageBox,VPN

前回はbatファイルでVPNの接続・切断をやりましたが、接続と切断で2つのファイルが必要になってしまいそうだったので、別の方法を考えることに。

・コマンドでVPNの接続・切断ができる
・ipconfigすれば、VPN接続中の判定ができそう
という感じでした。

自分で作る

結局、自分で作ることにしました。
接続前にパスワードの入力を求められる問題もありましたが、接続前に
%APPDATA%\Microsoft\Network\Connections\Pbk\rasphone.pbk

このファイルの「PreviewUserPw=1」を「PreviewUserPw=0」に書き換えてしまえば回避可能です。

どーんと。
こんな感じでめでたく希望通りの動きをしてくれるものができました。

OKCancelとYesNo

いつもお世話になっているこちらを参考に作りました。

「YesNo」のメッセージボックスを採用しているのにもかかわらず
「if (result == DialogResult.OK)」と書いてしまうと、わたしのようにドはまりしてしまいますのでご注意を。
え、わたしだけですか。

具体例を書くとこういうことです。

【正】
DialogResult result = MessageBox.Show([接続名] + "から切断しますか?"
                     , "切断確認"
                     , MessageBoxButtons.YesNo
                     , MessageBoxIcon.Question
                     , MessageBoxDefaultButton.Button2);
if (result == DialogResult.Yes)
{ 切断の処理; }
else { Environment.Exit(0); }
【誤】
DialogResult result = MessageBox.Show([接続名] + "から切断しますか?"
                     , "切断確認"
                     , MessageBoxButtons.YesNo
                     , MessageBoxIcon.Question
                     , MessageBoxDefaultButton.Button2);
if (result == DialogResult.OK)
{ 切断の処理; }
else
{ Environment.Exit(0); }

完成品はこんなかんじになりました。

自作すると、アイコンもアプリケーションの名前も自由に決められるのがいいですね。
(なぜねぎまなのかと聞かれると、非常に困ってしまうのですが)
愛着がわいてきます。

これにて一件落着

ちょうど帰省したので、親のPCにこのアプリケーションを設置して
「今度からはこれをダブルクリックしてね」
と伝えて一件落着しました。

とても大きな満足感を感じながら、なにげなくタスクバーのネットワークアイコンをクリックした、そのとき。

嘘だと言ってよ、ジョー。