手動開啟程式難免有時候會手殘重複點選,所以需要這個機制防呆。因為網路上看到都是用C#寫的,所以紀錄一下VB.NET版本。
在撰寫Win Form時,C#是在Program.cs將Application.Run()
包在Mutex中,VB.NET預設則是直接啟動Win Form,所以需要先調整專案屬性設定。
1. 在[應用程式]頁面,取消勾選[啟用應用程式架構],起始物件選擇[Sub Main]。
2. 建立新的Module.vb,加入Public Sub Main()
,裡面建立Mutex方法,將準備啟動的初始Win Form包在Mutex中。
Imports System.Threading
Module AppStartup
Public Sub main()
Dim bln_IsNewMutex As Boolean
Using a As Mutex = New Mutex(False, Application.ProductName, bln_IsNewMutex)
If bln_IsNewMutex Then
MyForm.ShowDialog()
End If
End Using
End Sub
End Module