Shell_NotifyIconA-Funktion (shellapi.h)
Sendet eine Nachricht an den status Bereich der Taskleiste.
Syntax
BOOL Shell_NotifyIconA(
[in] DWORD dwMessage,
[in] PNOTIFYICONDATAA lpData
);
Parameter
[in] dwMessage
Art: DWORD
Ein -Wert, der die aktion angibt, die von dieser Funktion ausgeführt werden soll. Die Variable muss einen der folgenden Werte aufweisen:
NIM_ADD (0x00000000)
0x00000000. Fügt dem bereich status ein Symbol hinzu. Das Symbol erhält einen Bezeichner in der NOTIFYICONDATA-Struktur , auf die von lpdata verwiesen wird– entweder über sein uID - oder guidItem-Element . Dieser Bezeichner wird in nachfolgenden Aufrufen von Shell_NotifyIcon verwendet, um spätere Aktionen auf dem Symbol auszuführen.
NIM_MODIFY (0x00000001)
0x00000001. Ändert ein Symbol im bereich status. Die NOTIFYICONDATA-Struktur , auf die von lpdata verwiesen wird, verwendet die ID, die dem Symbol ursprünglich zugewiesen wurde, als es dem Infobereich (NIM_ADD) hinzugefügt wurde, um das zu ändernde Symbol zu identifizieren.
NIM_DELETE (0x00000002)
0x00000002. Löscht ein Symbol aus dem bereich status. Die NOTIFYICONDATA-Struktur , auf die von lpdata verwiesen wird, verwendet die ID, die dem Symbol ursprünglich zugewiesen wurde, als es dem Infobereich (NIM_ADD) hinzugefügt wurde, um das zu löschende Symbol zu identifizieren.
NIM_SETFOCUS (0x00000003)
0x00000003. Shell32.dll nur Version 5.0 und höher. Gibt den Fokus auf den Infobereich der Taskleiste zurück. Benachrichtigungsbereichssymbole sollten diese Meldung verwenden, wenn sie ihren Ui-Vorgang abgeschlossen haben. Wenn z. B. auf dem Symbol ein Kontextmenü angezeigt wird, der Benutzer jedoch ESC drückt, um es abzubrechen, verwenden Sie NIM_SETFOCUS , um den Fokus auf den Infobereich zurückzugeben.
NIM_SETVERSION (0x00000004)
0x00000004. Shell32.dll nur Version 5.0 und höher. Weist den Infobereich an, sich entsprechend der Versionsnummer zu verhalten, die im uVersion-Member der Struktur angegeben ist, auf die von lpdata verwiesen wird. Die Versionsnummer gibt an, welche Member erkannt werden.
NIM_SETVERSION muss jedes Mal aufgerufen werden, wenn ein Benachrichtigungsbereichssymbol hinzugefügt wird (NIM_ADD). Es muss nicht mit NIM_MODIFY aufgerufen werden. Die Versionseinstellung wird nicht beibehalten, sobald sich ein Benutzer abmeldet.
Weitere Informationen finden Sie im Abschnitt Hinweise.
[in] lpData
Typ: PNOTIFYICONDATA
Ein Zeiger auf eine NOTIFYICONDATA-Struktur . Der Inhalt der Struktur hängt vom Wert von dwMessage ab. Es kann ein Symbol definieren, das dem Infobereich hinzugefügt werden soll, bewirkt, dass dieses Symbol eine Benachrichtigung anzeigt oder ein Symbol identifiziert, das geändert oder gelöscht werden soll.
Rückgabewert
Typ: BOOL
Gibt TRUE zurück, wenn erfolgreich, andernfalls FALSE . Wenn dwMessage auf NIM_SETVERSION festgelegt ist, gibt die Funktion TRUE zurück, wenn die Version erfolgreich geändert wurde, oder FALSE , wenn die angeforderte Version nicht unterstützt wird.
Hinweise
Wenn Sie ab Windows 2000 (Shell32.dll Version 5.0) den uVersion-Member der NOTIFYICONDATA-Struktur , auf die von lpdata verwiesen wird, auf NOTIFYICON_VERSION_4 oder höher festlegen, werden Shell_NotifyIcon Maus- und Tastaturereignisse anders behandelt als in früheren Versionen von Windows. Zu den Unterschieden gehören die folgenden:
- Wenn ein Benutzer das Kontextmenü eines Benachrichtigungssymbols mit der Tastatur auswählt, sendet die Shell der zugehörigen Anwendung jetzt eine WM_CONTEXTMENU Nachricht. Frühere Versionen senden WM_RBUTTONDOWN und WM_RBUTTONUP Nachrichten.
- Wenn ein Benutzer ein Benachrichtigungssymbol mit der Tastatur auswählt und es mit der LEERTASTE oder DER EINGABETASTE aktiviert, sendet die Shell der Version 5.0 der zugehörigen Anwendung eine NIN_KEYSELECT Benachrichtigung. Frühere Versionen senden WM_RBUTTONDOWN und WM_RBUTTONUP Nachrichten.
- Wenn ein Benutzer mit der Maus ein Benachrichtigungssymbol auswählt und es mit der EINGABETASTE aktiviert, sendet die Shell der zugeordneten Anwendung nun eine NIN_SELECT Benachrichtigung. Frühere Versionen senden WM_RBUTTONDOWN und WM_RBUTTONUP Nachrichten.
- NIN_BALLOONSHOW. Wird gesendet, wenn die Sprechblase angezeigt wird (Sprechblasen werden in die Warteschlange eingereiht).
-
NIN_BALLOONHIDE. Wird gesendet, wenn der Sprechblasen verschwindet. Beispielsweise, wenn das Symbol gelöscht wird. Diese Nachricht wird nicht gesendet, wenn die Sprechblase aufgrund eines Timeouts geschlossen wird oder wenn der Benutzer mit der Maus klickt.
Ab Windows 7 wird NIN_BALLOONHIDE auch gesendet, wenn eine Benachrichtigung mit dem NIIF_RESPECT_QUIET_TIME flag set versucht, während der ruhen Zeit (die erste Stunde eines Benutzers auf einem neuen Computer) anzuzeigen. In diesem Fall wird der Sprechblasen niemals angezeigt.
- NIN_BALLOONTIMEOUT. Wird gesendet, wenn die Sprechblase aufgrund eines Timeouts geschlossen wird.
- NIN_BALLOONUSERCLICK. Wird gesendet, wenn die Sprechblase geschlossen wird, weil der Benutzer mit der Maus geklickt hat.
- NIN_POPUPOPEN. Wird gesendet, wenn der Benutzer den Cursor über ein Symbol bewegt, um anzugeben, dass die umfangreichere Popup-Benutzeroberfläche anstelle einer standardmäßigen Text-QuickInfo verwendet werden soll.
- NIN_POPUPCLOSE. Wird gesendet, wenn ein Cursor nicht mehr über ein Symbol bewegt wird, um anzugeben, dass die umfangreiche Popup-Benutzeroberfläche geschlossen werden soll.
Hinweis
Der Shellapi.h-Header definiert Shell_NotifyIcon als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht Codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | shellapi.h |
Bibliothek | Shell32.lib |
DLL | Shell32.dll (Version 4.0 oder höher) |
APIs | ext-ms-win-shell-shell32-l1-2-1 (eingeführt in Windows 10, Version 10.0.10240) |