WinForms에서 작업 중입니다. 이제는 한 가지만 구현하고 싶습니다. 데스크톱 응용 프로그램의 바로 가기를 클릭하면 응용 프로그램이 최소화 된 상태가되고 시스템 트레이에서 열립니다 (새 인스턴스를 만들지 않음).바탕 화면의 바로 가기를 클릭하면 시스템 트레이 아이콘이 열립니다.
0
A
답변
1
바로 가기를 두 번 클릭하면 실제로 트레이에 최소화 된 응용 프로그램에 대한 정보가없는 응용 프로그램의 다른 인스턴스가 실제로 열립니다.
기본적으로 시작할 때 다른 앱 인스턴스가 실행되고 있음을 감지하고 싶습니다. 그렇다면 앱의 기존 인스턴스에 UI가 사용자에게 표시되도록 말한 다음 종료합니다.
귀하의 솔루션은 두 가지로 구성되어 앱이 그것의 또 다른 인스턴스가 이미 실행되고 있는지 이해하는
- 능력.
- 앱이 다른 인스턴스에 "말하기"(프로세스 간 통신) 기능을 수행 할 수있는 기능.
1. 앱이 이미 다른 인스턴스가 실행 중임을 인식하는 기능.
이것은 .NET에서 간단합니다. 앱을 열면 Mutex
클래스를 사용합니다. 시스템 전반의 잠금이며, 그렇지 않은 경우에는 본질적으로 Monitor
과 유사합니다.
예 :
// At app startup:
bool createdNew;
var mutex = new Mutex(true, Application.ProductName, out createdNew);
if (!createdNew)
{
// Use IPC to tell the other instance of the app to show it's UI
// Return a value that signals for the app to quit
}
// At app shutdown (unless closing because we're not the first instance):
mutex.ReleaseMutex();
2. 프로세스 간 통신
.NET에서 IPC을 수행하기위한 몇 가지 방법이 있습니다. WCF는 꽤 무거울지라도 하나입니다. 기본 소켓 메시징도 작동해야하는 간단한 요구 사항이지만 명명 된 파이프가 아마도 최상의 선택 일 것입니다.
여기 당신을 도와 .NET에서 적절한 IPC 방법에 대한 질문에 대한 링크입니다 : 당신은 * 딱 맞는 과정을 찾아, 프로세스 간의 통신 *하고 창을 활성화하지 않는 What is the best choice for .NET inter-process communication?
관련 문제
- 1. InnoSetup - 바탕 화면의 바로 가기 아이콘이 손상되었습니다.
- 2. 시스템 트레이 아이콘이 왜곡되어 보입니다.
- 3. 바탕 화면에서 바로 가기를 제거 하시겠습니까?
- 4. .NET - 설치시 바탕 화면 바로 가기를 만드시겠습니까?
- 5. Innosetup 바탕 화면 바로 가기를 제거하는 방법
- 6. 시작시 시스템 트레이 아이콘이 나타나지 않음
- 7. 바탕 화면의 웹 바로 가기/책갈피 아이콘을 변경하는 방법이 있습니까
- 8. 현재 바탕 화면에 바로 가기를 추가하려면 powershell을 사용하여 로그인하십시오.
- 9. jquery + air에서 클릭하면 파일 시스템 창이 열립니다.
- 10. PyQT : MyApplication에 대한 시스템 바로 가기를 등록 할 수 있습니까?
- 11. 아이콘이없는 Java 시스템 트레이
- 12. 설치 프로그램없이 vb.net에서 바탕 화면에 바로 가기를 만드는 방법
- 13. 프로그래밍 방식으로 사용자 바탕 화면에서 바로 가기를 삭제하는 방법?
- 14. WiX 3가 나를 미치게 만들었습니다. 바탕 화면 바로 가기를 만들려고합니다.
- 15. 바탕 화면에 링크를 드래그 앤 드롭하여 바로 가기를 만듭니다.
- 16. 바탕 화면에서 바로 가기를 제거하는 특별한 방법이 있습니까?
- 17. 웹 사이트의 바탕 화면 바로 가기를 만드는 포터블 방법?
- 18. Python (Ubuntu)으로 바탕 화면 바로 가기를 만드는 방법은 무엇입니까?
- 19. 바탕 화면 바로 가기를 통해 mysql 명령을 실행 하시겠습니까?
- 20. 내 파이썬 앱에 바탕 화면에 멋진 바로 가기를 만드는 방법?
- 21. JNLP 파일 : 바탕 화면 바로 가기를 만들지 마십시오.
- 22. wxPython 시스템 트레이 아이콘
- 23. 바탕 화면의 iPhone 뷰포트
- 24. 관리자로 실행중인 프로그램의 재시작 후 시스템 트레이 아이콘이 보이지 않음
- 25. java 1.6 Windows 시작시 시스템 트레이 아이콘이 나타나지 않습니다.
- 26. JavaScript 이미지를 클릭하면 열립니다.
- 27. Java Service Wrapper 시스템 트레이 아이콘 문제
- 28. jQuery가있는 트레이 | 다시 클릭하면 트레이 닫기
- 29. wxpython 시스템 트레이 아이콘 메뉴
- 30. 바탕 화면의 아이콘과 파일에 대한 세부 정보를 바탕 화면에 표시합니다.
.. – stuartd
아 맞아. 따라서 프로세스를 반복 할 수 있다는 것을 알고 있지만 어떻게 창을 활성화할까요? –
다음을 사용합니다 : https://gist.github.com/1993803 – stuartd