내 목표는 내 응용 프로그램의 모든 창에 대해 하나의 아이콘을 갖는 것입니다.여러 창, 단일 트레이 아이콘
약간의 읽기 후에, 내 이해는 Shell_NotifyIcon()
통해 트레이 아이콘을 만드는 것입니다. 이 함수는 hWnd
필드를 포함하는 NOTIFYICONDATA
구조체를 가져옵니다. 이 HWND
은 트레이 아이콘 이벤트의 해당 창을 시스템에 알리는 데 사용됩니다. 이러한 이벤트는 WindowProc
콜백 (SetWindowLongPtr()
으로 창에 설정 됨)에 의해 처리됩니다. 따라서
내 질문 : 마우스 왼쪽 버튼을 클릭 말의
- 어떻게 하나의 아이콘이 내 응용 프로그램의 모든 윈도우를 통지 할 수 있습니까?
- 다른
NOTIFYICONDATA
구조가있는Shell_NotifyIcon()
구조체를 여러 번 사용할 수 있습니까? 각기 다른hWnd
이 있지만 아이콘은 같은가요? - 트레이 아이콘을 생성하기 위해 등록 된 원래 윈도우가 파괴되면 어떻게됩니까?
숨겨진 프록시 창을 만드는 것이 적절한 해결책입니까?
일부 배경 : 내 응용 프로그램은 WinAPI를 C (js-ctypes 사용)로 호출하며 XP의 모든 Windows 버전에서 이상적으로 작동해야합니다.
통지를위한 숨겨진 창은 갈 길이 멀다. 내가 오래 전에 작성한 몇 가지 코드가 있는데 도움이 될 것이다. http://www.codeproject.com/Articles/341/A-Task- 트레이 애플릿 프레임 워크 –