본문 바로가기

자료

[VB.net/C#] 프로그램 중복 실행 방지 / 뮤텍스 이용

728x90

[vb.net/C#] 프로그램 중복 실행 방지 / 뮤텍스 이용


* VBNET 프로그램 중복 실행 방지 예제

 

1. Visual Studio 를 켜고 메뉴에서 파일 -> 새로 만들기 -> Project 를 선택

    VBNET Windows Forms 응용 프로그램 열어 줍니다. =>

    Visual Studio 2019 는 Windows Forms 응용 프로그램(NET.Framework) 를 선택 (NET.Core) X

 

오른쪽 상단 솔루션 탐색기 -> My Project 클릭 -> 중앙 화면에 으용 프로그램 이벤트 보기를 클릭을 합니다.

 

그럼 아래의 그럼과 같이 솔루션 탐색기에 ApplicationEvents.vb 파일이 생기게 됩니다.

 

ApplicationEvents.vb

 

Private Sub MyApplication_Startup(ByVal sender As Object, ByVal e As Microsoft.VisualBasic.ApplicationServices.StartupEventArgs) Handles Me.Startup
  '프로그램 중복 실행 방지...
  If UBound(Diagnostics.Process.GetProcessesByName(Diagnostics.Process.GetCurrentProcess.ProcessName)) > 0 Then
            MessageBox.Show("프로그램이 이미 실행 중입니다...종료 후 다시 실행해 주세요.", _
            "확 인", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
       End
  End If
End Sub

또는 Form1.vb 안에서도 구현 가능 합니다.

 

 

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '프로그램 중복 실행 방지...
        If UBound(Diagnostics.Process.GetProcessesByName(Diagnostics.Process.GetCurrentProcess.ProcessName)) > 0 Then
            MessageBox.Show("프로그램이 이미 실행 중입니다...종료 후 다시 실행해 주세요.", _
                            "확 인", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
            End
            'Application.Exit()
        End If
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        MessageBox.Show("프로그램 중복 실행 테스트...", "확 인", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
    End Sub

    
End Class

 

C# 처럼 Application.Exit() 를 써서 응용프로그램을 종료 시켜도 되지만 VB6 처럼 간단한  End 로도 프로그램

을 종료 하실 수 있습니다.

 

* 예제 결과

 



728x90