Systray-Problem was mach ich falsch ?
-
Hallo an alle,
ich habe die FAQ zum Thema Systray schon zum xxten mal durchgearbeitet
und stehe vor einem schier unlösbarem ProblemIch kann das Programm zwar starten und auf den Button klicken, der
mein Prog im Systray ablegen soll(geschieht auch), aber dann geschieht übles!Ich erhalte folgende Fehler:
1. Debug Assertion failed File: winocc.cpp Line 301
dort steht dann{ ASSERT(::IsWindow(m_hWnd)); if (m_pCtrlSite == NULL) return ::ShowWindow(m_hWnd, nCmdShow); else return m_pCtrlSite->ShowWindow(nCmdShow); }
Das bezieht sich doch auf ein Fenster, welches ich nicht beeinflussen kann, oder muß ich noch irgendwo in meinem Source eine Verknüpfung einbauen?
2.bei Details (in der Fehlermeldung die Windows ausgibt)
steht folgendes:SYSTRAY verursachte einen Ausnahmefehler 03H in Modul MFC42D.DLL bei 017f:5f436c8e.
Wobei SYSTRAY natürlich der Name von meinem Prog ist.
Ok, evtl bringt es nicht viel das hier zu posten...aber in meiner Verzweiflung
erdreiste ich mich malIch würd mich schon über nen laufenden Source freuen, den ich studieren kann.
Hat evtl. jemand einen Link ?Chris
-
Laufender Source :
#define WM_NOTIFICATION (WM_APP+100) NOTIFYICONDATA tnd; ZeroMemory(&tnd, sizeof (NOTIFYICONDATA)); tnd.cbSize = sizeof (NOTIFYICONDATA); tnd.hWnd = this ->m_hWnd; tnd.uID = 1; tnd.uFlags = NIF_MESSAGE|NIF_ICON|NIF_TIP; tnd.uCallbackMessage = WM_NOTIFICATION; tnd.hIcon = (HICON) LoadImage(AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDI_MIN),IMAGE_ICON,16,16,LR_SHARED|LR_DEFAULTCOLOR); tnd.szTip[64]='\0'; lstrcpyn(tnd.szTip,ausgabe,sizeof(tnd.szTip)); Shell_NotifyIcon(NIM_ADD,&tnd); ShowWindow(SW_HIDE); //und wiederherstellen LRESULT CProggDlg::OnTrayNotification(WPARAM wp, LPARAM lp) { switch (lp) { case WM_LBUTTONDOWN: { KillTimer(1); ShowWindow(SW_SHOW); NOTIFYICONDATA iconData; iconData.cbSize = sizeof(NOTIFYICONDATA); iconData.hWnd = this->GetSafeHwnd(); iconData.uID = 1; return Shell_NotifyIcon(NIM_DELETE,&iconData); } } return 0; }
sonst schonmal debugged??