문제

C# 응용 프로그램을 통해 다른 응용 프로그램에서 생성 한 Notifyicon을 보여 주거나 숨기거나 변경할 수 있는지 항상 궁금했습니다.

누군가이 작업을 수행하는 방법에 대한 예를 게시 할 수 있습니까? :)

도움이 되었습니까?

해결책

Systray에서 아이콘을 수정하려면 사용할 수 있습니다. Shell_Notifyicon Win32 API (p/발언 선언). 아이콘은 창 핸들 및 ID와 관련이 있습니다. 즉, 다른 프로그램의 아이콘을 수정하거나 숨기려면 해당 응용 프로그램에서 사용한 창과 ID를 등록하기 위해 알아야합니다. 예를 들어 해당 프로세스를 위해 모든 창을 열거하고 각 핸들과 각 숫자로 호출하여 0 ~ 5000 수천 사이의 호출을함으로써 강제를 강제 할 수 있지만 성공 가능성은 매우 얇습니다.

다른 팁

SystemTray 창 자체를 연결하여 모든 shell_notifyicon () 요청을 가로 채겠습니다. 그런 다음 각 아이콘에 등록 된 정확한 HWND 및 ID를 알게됩니다. 세부 사항은 모든 검색 엔진을 통해 찾을 수 있습니다.

다른 응용 프로그램이 공개 방법을 노출 시키거나 반사를 사용하려고하지 않는 한 아무것도 알지 못하지만 실행중인 프로세스에서이를 수행 할 수 있는지는 확실하지 않습니다.

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