Windows 양식을 시작할 때 내 알림 아이콘이 시스템 트레이에 나타나지 않는 이유는 무엇입니까?
여기 내가하는 일이 있습니다.
Windows 응용 프로그램 (현재 사용자의 컨텍스트에서 해당 응용 프로그램을 실행하기 위해 가장을 사용하고 있음) 인 트레이 응용 프로그램을 시작하는 Windows 서비스가 있습니다. 트레이 응용 프로그램에서 알림 아이콘이 포함 된 양식을 시작합니다.
여기서 문제는 알림 아이콘이 시스템 트레이에 나타나지 않고 그 이유를 찾을 수 없다는 것입니다.
양식의 OnLoad 메서드에서 폼의 visible 속성을 false로 설정하고 있습니다. 또한 (IPC와 같은) 원격 서비스 호출을하고 있습니다. 그게 문제 야?
알림 표시 아이콘을 시스템 트레이에 항상 나타나게하려면 어떻게해야합니까?
편집 : 여기에 지금은 뭔가가 호출되지 않는 경우 찾을 알림 아이콘 코드 또는 다른 조건문 주위에 몇 중단 점을 건의 할 것입니다 들어 온로드 기능
알림 C# winforms에 알림 아이콘이 표시되지 않습니다.
protected override void OnLoad(System.EventArgs e)
{
this.Visible = false;
//Get some value from registry
CheckForStealthMode();
GetLoginType();
bool GetProbeStatus = false;
ServiceActivityInterface remoteMethods = null;
do
{
try
{
remoteMethods = (ServiceActivityInterface)Activator.GetObject(typeof(ServiceActivityInterface), "tcp://localhost:18800/ServiceRemoting);
ProbeStatus = remoteMethods.GetProbeStatus();
GetProbeStatus = true;
}
catch (Exception exception)
{
GetProbeStatus = false;
log.Error("Exception while getting the status of Probe:" + exception.Message);
}
finally
{
remoteMethods = null;
if (!GetProbeStatus)
{
Thread.Sleep(5000);
log.Debug("Retrying to get the probe status.");
}
}
} while (!GetProbeStatus);
}
OnLoad 메서드에서 코드를 공유 할 수 있습니까? –
트레이 아이콘이 표시되지 않거나 예상대로 실행되지 않는 것입니까? Windows 이벤트 뷰어를 확인하여 응용 프로그램 이벤트 로그 (또는 보안 로그)에보고 된 것이 있는지 확인 했습니까? –
@ Ben Scott 질문에 코드를 게시했습니다. – Prasad