В VB вы можете установить это на уровне проекта (Свойства> Общие) для проектов Winforms.
В C # вы можете использовать код, похожий на этот ... необходимо преобразование, конечно ..
Dim tGrantedMutexOwnership As Boolean = False
Dim tSingleInstanceMutex As Mutex = New Mutex(True, "MUTEX NAME HERE", tGrantedMutexOwnership)
If Not tGrantedMutexOwnership Then
'
' Application is already running, so shut down this instance
'
Else
'
' No other instances are running
'
End If
Ой, я забыл упомянуть, что вам нужно будет поставить GC.KeepAlive(tSingleInstanceMutex)
после вызова Application.Run ()