準備
(なし)
デザイン
(なし)
サンプルコード (C#)
// 名前空間の追加
// (なし)
// コード
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Process MyProcess = Process.GetCurrentProcess();
Process[] AllProcess = Process.GetProcessesByName(MyProcess.ProcessName);
if (AllProcess.Length > 1)
{
MessageBox.Show("二重起動できません。");
}
else
{
Application.Run(new Form1());
}
}
解説
自分のアプリケーションのプロセス数を取得して判断しています。
C#, C++/CLI はデフォルトで Main メソッドが用意されていますが、VB.NET は用意されていないため、上記のコードを記述後、以下の設定を行います。
1. プロジェクトのプロパティを開く。
2. [アプリケーション] タブを開く。
3. [アプリケーション フレームワーク] のチェックを外す。
4. スタートアップオブジェクトのリストから、[Sub Main] を選択する。
結果

動作確認環境
Visual Studio 2015 Professional (C# 6.0) 2. フォーム (Form1) にリストボックス (listBox1) を配置します。