二重起動を禁止するにはどうすればいいのでしょうか?

ここに答えが書いてあります。

二重起動を禁止する – .NET Tips (VB.NET,C#…)

これで二重起動を防ぐことができるのですが、なぜ二重起動を防がないといけないのでしょうか? 編集中のファイルを二重に開いてしまわないようにするためではないのでしょうか?

そこで同じファイルを開かないのであれば二重起動は許可するということにします。

Mutex名はアプリケーション固有の文字列にしないといけないので、アプリケーション実行ファイルのパスと編集されているファイルのパス名を連結したものにしました。ただし260文字を超えてはいけません。

System.Environment.GetCommandLineArgs()が返す配列の長さが1の場合はファイルがダブルクリックされたり、ドラッグ&ドロップされた場合ではないので、なにもせずそのまま起動しています。System.Environment.GetCommandLineArgs()が返す配列の長さが2以上の場合はProgram.IsDoublestartsを呼び出して本当に開いていいかを判断しています。

ファイルを開くときや保存するときも、Program.IsDoublestartsをつかって二重起動にならないようにしています。