Programmabsturz bei ShowWindow()
-
Jo, würde ich auch tippen ... Wo steht denn der Code?
-
@Devil81:
Es ist ein Dialogfeldbasierende Programm.
@mathi & dEUs:
Er wird beim drücken eines Buttons ausgeführt (Das Fenster ist also schon vorhanden).
-
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(IDR_MAINFRAME),IMAGE_ICON,16,16,LR_SHARED|LR_DEFAULTCOLOR); //IDI_MIN ist das Icon was angezeigt wird tnd.szTip[64]='\0'; lstrcpyn(tnd.szTip,"Music Maker",sizeof(tnd.szTip)); Shell_NotifyIcon(NIM_ADD,&tnd); ShowWindow(SW_HIDE);
Also dieser Code funzt bei mir perfekt.
Bist du sicher das es an ShowWindow liegt?
Und nicht an etwas anderem?Devil
-
Ja. Ich habe das Programm Debuggt und da kam dan der gelbe Pfeil vor der definition von ShowWindow.
Du kannst mein Programm gerne mal ansehen:
Code[ Dieser Beitrag wurde am 12.08.2002 um 20:29 Uhr von Fink Christoph editiert. ]
EDIT:
Nur den Link klickbar gemacht[ Dieser Beitrag wurde am 12.08.2002 um 20:38 Uhr von dEUs editiert. ]
-
Hmm ...
Bei dem Code, den du hochgeladen hast, hats nur win WM_MINIMIZE, kein WM_HIDE ... Und was genau meinst du mit Absturz? Bei mir hängt das Programm einfach wegen dieser do-while-Schleife, es stürzt aber nicht ab ...
-
Bei mir stürtzt er bei der ShowWindow Funktion ab:
Hier der Error http://members.vol.at/captainiglo/Error.jpg
-
Der entscheidende Fehler ist hier:
tnd.szTip[64]='\0';Der String selbst ist doch nur 64 lang. Da darf man doch nicht an die 65te Stelle schreiben.
Es muss also heißen:tnd.szTip[63]='\0';
-
Laut der Fehlermeldung existiert dein Fenster nicht!
In der angegebenen Zeile steht nämlich:
ASSERT(::IsWindow(m_hWnd));
Kompilier mal den hochgeladenen Code, vielleicht sind ja noch mehr Sachen anders, als nur dieser eine Parameter von ShowWindow ...
-
Danke thomas80d. Das wars. Jetzt funzt alles problemlos.
-
Hallo Moderatoren,
denkt ihr bitte auch dran, den Beitrag in der FAQ von diesem Fehler zu befreien?