[WPF] WPF 중복 실행 방지 하는법
- C#/WPF
- 2021. 1. 18. 00:00
안녕하세요.
오늘은 WPF에서 중복 실행 방지하는 방법에 대해서 알려 드리려고 합니다.
이 부분은 소스코드 하나만 추가하면 되는 부분이라서 예제 프로그램까지 만들지는 않고, 바로 소스 코드를 작성해 공유해 드리도록 하겠습니다.
아래 소스코드를 App.xaml.cs 비하인드 코드에 작성해 주시면 되겠습니다.
App.xaml.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using System.Windows;
namespace Ch06_1
{
/// <summary>
/// App.xaml에 대한 상호 작용 논리
/// </summary>
public partial class App : Application
{
Mutex mutex;
/// <summary>
/// 중복 실행 방지 코드
/// </summary>
/// <param name="e"></param>
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
string mutexName = "program";
bool createNew;
mutex = new Mutex(true, mutexName, out createNew);
if(!createNew)
{
Shutdown();
}
}
}
}
|
cs |
위의 코드를 그대로 작성해서 프로그램을 실행시켜 보면, 현재 윈도우 메인 창이 하나 떠 있다고 가정하고 다시 하나를 실행 하면 창이 안 켜지는 것을 확인하실 수 있습니다.
만약, 위의 코드가 없으면 무한으로 실행할 때 마다 메인 윈도우가 계속 실행되는 것을 확인하실 수 있습니다.
감사합니다.
728x90
'C# > WPF' 카테고리의 다른 글
[WPF] WPF 리스트 항목 데이터 바인딩 하는 방법 (0) | 2021.01.21 |
---|---|
[WPF] WPF Grid 패널 사용 방법 (0) | 2021.01.19 |
[WPF] WPF Label, Textblock, Textbox 컨트롤 연습하기 (0) | 2021.01.17 |
[WPF] WPF Grid 컨트롤 공유하는(Grid Shared) 방법 (0) | 2021.01.17 |
[WPF] WPF 데이터 바인딩 (0) | 2021.01.17 |
이 글을 공유하기