2009-08-10 5 views
3

나는 응용 프로그램 (C# 2.0)에서 일하고 있습니다. 나는 그 안에 하나의 인스턴스를 구현했다. 모든 것이 좋습니다. 응용 프로그램을 다시 실행하면 "인스턴스가 이미 실행 중입니다"라는 메시지가 표시됩니다.단일 인스턴스 및 시스템 트레이에 알림

사실 나는 messagebox를 통해 메시지를 표시하고 싶지 않습니다.

이미 실행중인 인스턴스의 풍선 도움말 (시스템 트레이에 알림 아이콘이 있음)을 사용하여이 메시지를 표시하려고합니다.

어떻게하면됩니까?

미리 감사드립니다.

답변

4

다른 인스턴스에 메시지 상자를 표시해야 함을 알리기 위해 양식 interprocess communication이 필요합니다.

이 경우 기존 인스턴스에 메시지를 표시하라는 메시지를 표시하고 대신 기본 창 (예 : "최소화")을 복원하라는 메시지를 표시 할 수 있습니다.

+0

소켓을 열고 응용 프로그램에 깨우기 신호를 보내는 것이 좋습니다. 필요한 모든 것은 .NET에 빌드됩니다 (TcpListener/TcpClient 클래스를 살펴보십시오). –

0

당신의 앱에서 WCF 서비스를 사용할 수 있습니다.

두 번째 앱이 NetPipe를 통해 연결되고 메소드를 호출하고 닫습니다.

첫 번째 응용 프로그램은 전화 및 팝 업 baloon입니다 통지

0

CodeFluent Runtime는 단일 인스턴스 응용 프로그램을 구현하는 SingleInstance 클래스를 제공 WndProc 알림을 팝업 방식으로 덮어 씁니다 (풍선 팁).