문제

시스템 트레이에 나타나는 Notifyicon 컨트롤이 있습니다. 화면에서 아이콘의 위치 (x, y)를 어떻게 찾을 수 있습니까?

감사

도움이 되었습니까?

해결책

당신은 할 수 없습니다. 시스템 트레이의 창 핸들을 얻는 것은 어렵지 않습니다. GetClassName ()는 표준 도구 모음 공통 컨트롤의 클래스 이름 인 "ToolbarWindow32"를 반환합니다. 64 비트 OS에는 두 가지가 있음을주의하십시오. 그런 다음 tb_getbuttoninfo와 같은 메시지를 보낼 수 있습니다. 주요 끊기는 끊임없이 선택할 버튼 ID를 알지 못하고 반환 된 정보에는 버튼 위치가 포함되어 있지 않습니다.

더 나은 것은 버튼을 잠그지 않고 움직입니다.

다른 팁

실제로 당신은 이것을 할 수 있습니다. 여기에 당신에게 방법과 훨씬 더 많은 코드가 있습니다.

Notifyicon의 모든 마우스 이벤트에서는 단순히 Control.mouseposition을보십시오. 여기에는 마우스의 (x, y)가 포함되어 있습니다. 이러한 (x, y) 값을 사용하여 양식/제어를 클릭 한 위치에 컨텍스트 메뉴를 배치하기 위해 동일하게 수행 할 수 있습니다.

이 두 가지의 좋은 예는 다음과 같습니다.

여기에 추가 : http://code.msdn.microsoft.com/thenotifyiconexample

시행 착오의 긴 여행과 내 자신의 알림 아이콘 로케이터의 개발 후, 나는 @zhwang 의이 놀라운 프로젝트를 볼 때까지 지금까지 최고의 위치 아이콘을 찾는 방법을 개발했습니다. Supernotifyicon. 이 프로젝트에는 부정확 한 (나 자신의 개발과 같은)에서 Windows 7 API에서 새로운 사용에 이르기까지 알림 아이콘을 찾는 세 가지 방법이 있습니다. 이것은 결정적인 답입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top