Tray-Icon bleibt bestehen nach Programmende



  • Hi,

    ich und mein Tray-icon wieder 😃

    Ich habe in meinem PopUp-Menu des Trayicon
    "Beenden" als Menüpunkt eingebaut.
    Wenn ich diese Funktion aufrufe wird das Programm
    auch beendet. Aber mein Icon bekommt davon leider
    erst was mit, wenn ich mit der Maus drüber gehe.
    Nur dann verschwindet es wieder...

    Wie teile ich dem Programm mit, dass erst das Icon
    entfernt werden soll ? Oder muss ich zunächst den
    Dialog wiederherstellen und dann "beenden" aufrufen ?



  • Verwende doch einfach :

    ...
    ...
    Shell_NotifyIcon(NIM_DELETE, &DEINESTRUCTURE);
    

    In der Beenden Funktion !
    So wird das Icon gelöscht und das Programm wird beendet !

    Gruß
    :: NoName ::



  • Hi :NoName:,

    ich habe es eben so probiert, wie von dir beschrieben.
    Es tut sich leider kein Unterschied 😞



  • Bist du dir auch sicher das du zuerst das NIM_DELETE aufrufst und dann die WM_CLOSE Message ?

    Gruß
    :: NoName ::



  • Hi,

    jetzt gehts. Hatte was vergessen.
    So gehts:

    NOTIFYICONDATA iconData;
             iconData.cbSize = sizeof(NOTIFYICONDATA);
             iconData.hWnd = this->GetSafeHwnd();
    	iconData.uID = 1;
    	Shell_NotifyIcon(NIM_DELETE,&iconData);
    

Anmelden zum Antworten