2013-10-21 1 views
0

사용자가 응용 프로그램의 시스템 트레이 아이콘에 포커스를 맞추면 시스템 트레이에서 내 응용 프로그램 통계를 표시하려고합니다. 이를 위해 Shell_NotifyIcon()을 사용했으나 최대 문자열 크기는 64 자로 제한되어 있습니다. 그래서 "CreateWindow()"(Win32 API를 사용하고 있습니다)를 사용하여 내 자신의 툴팁 윈도우를 만들었고 마우스를 아이콘 위로 가져 가면 제대로 작동합니다. 그러나 키보드 만 사용하여 시스템 트레이 아이콘에 초점을 맞추면 작동하지 않습니다.키보드 포커스가있는 Systray 아이콘 툴팁

앱을 디버깅 할 때 키보드를 사용하여 아이콘에 집중했을 때 캡처 된 메시지가없는 것으로 나타났습니다. 그러나 아이콘 위로 마우스를 가져 가면 WM_MOUSEMOVE 메시지가 나타납니다.

키보드를 사용하여 시스템 트레이 아이콘을 집중할 때 (즉, Win + B -> 화살표 키를 사용하여 아이콘으로 이동) 메시지가 전송됩니까?

다른 제안 사항이 있으면 알려 주시면 감사하겠습니다.

덕분에, 쿠날

답변

0

시스템 트레이 아이콘의 툴팁은 Windows 2000에서 Windows 2000 이전의 Windows 버전에서 64 자로 제한됩니다, 툴팁 제한은 128 자 증가 하였다.

그리고 아이콘이 키보드를 통해 집중/활성화되면 메시지가 표시됩니다. NIM_SETVERSION을 통해 시스템 트레이에 문의해야 할 수 있습니다.

Notifications and the Notification Area

Shell_NotifyIcon() :

은 설명서를 참조하십시오. Remarks에는 키보드/마우스 메시지 처리에 대한 많은 정보가 있습니다.

관련 문제