2013-08-26 5 views
1

NotifyIcon 구성 요소를 사용하여 트레이 아이콘을 만드는 .NET Framework 2.0을 대상으로 C# (VS 2012 Express)를 사용하고 있습니다.응용 프로그램이 시스템으로 시작하는 경우 트레이 NotifyIcon이 누락되었습니다.

사용자가 Start Menu \ Startup 폴더에 응용 프로그램의 바로 가기가있어서 대부분의 시간에 Windows가 시작될 때 트레이에 아이콘이 나타납니다.

그러나 상황에 따라 실행 파일은 시스템 시작시 실행되지만 아이콘은 트레이에서 누락됩니다. 그러나 나는이 문제를 재현 할 수있는 일련의 신뢰할만한 조치를 취하지 않았다.

이 기사를 읽으면 쉘 시작 이벤트를 듣고 내 트레이 아이콘을 다시 그려야하는 것처럼 보입니다.하지만 .NET에서 낮은 수준의 호출을 관리하는 것처럼이 작업을 수행하는 방법은 확실하지 않습니다. 나를 위해 : http://msdn.microsoft.com/en-us/library/windows/desktop/cc144179(v=vs.85).aspx

모든 포인터는 크게 감사하겠습니다. 감사!

업데이트 :이 문제는 Windows가 기본 사용자 계정에 자동 로그온하도록 설정 한 경우에만 발생합니다. 수동으로 로그 오프했다가 다시 로그온하면 아이콘이 올바르게 나타납니다.

업데이트 : Explorer.exe를 수동으로 닫고 다시 시작하면 아이콘이 올바르게 그려집니다.

답변

2

이 문제는 (InitializeComponents 호출 후) 양식 생성자의 끝에서 NotifyIcon 구성 요소의 가시성을 (토글에서 참으로) 토글하는 것으로 해결되었습니다.