C# 및 .NET
에서 단일 인스턴스 wpf 응용 프로그램을 구축하는 방법
C#/. NET WPF 개발에서 응용 프로그램을 단일 실행 인스턴스로 제한하는 것이 종종 바람직합니다. 이것은 Mutex (상호 배제)를 사용하여 효율적으로 달성됩니다
MUTEX는 여러 스레드 또는 프로세스에서 공유 리소스에 대한 액세스를 제어하는 동기화 프리미티브입니다. WPF의 맥락에서, 하나의 응용 프로그램 인스턴스 만 동시에 실행되도록합니다.
이 단일 인스턴스 동작을 구현하려면 응용 프로그램의 메인 클래스 내에서 정적 객체를 만드는 것이 포함됩니다. 생성자는 두 가지 인수를 받아들입니다. 새로운 뮤텍스를 생성 할 것인지, 기존의 뮤텍스를 열는지 여부와 뮤트 이름 (고유 식별자)을 나타내는 부울.
뮤 테스를 만든 후 메소드를 사용하여 획득을 시도하십시오. 다른 인스턴스가 이미 뮤텍스를 보유하고 있다면
는 를 반환하여 새 인스턴스가 시작되는 것을 방지합니다.
새로운 시작 시도의 실행중인 인스턴스에 알리는 것과 같은 향상된 기능의 경우 Windows 메시지 또는 기타 프로세스 간 통신 기술을 고려하십시오. 예를 들어, 사용자 정의 Windows 메시지를 등록하여 두 번째 인스턴스의 초기화시 기존 인스턴스로 보내십시오.
이 MUTEX 기반 접근 방식은 한 번에 하나의 WPF 응용 프로그램 인스턴스 만 실행되므로 리소스 충돌을 방지하고 중복 응용 프로그램 Windows를 피함으로써 사용자 경험을 향상시킵니다.위 내용은 WPF 응용 프로그램이 단일 인스턴스로만 실행되도록하려면 어떻게해야합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!