Freigeben über


NOTIFYICONDATAA-Struktur (shellapi.h)

Enthält Informationen, die das System zum Anzeigen von Benachrichtigungen im Benachrichtigungsbereich benötigt. Wird von Shell_NotifyIcon verwendet.

Syntax

typedef struct _NOTIFYICONDATAA {
  DWORD cbSize;
  HWND  hWnd;
  UINT  uID;
  UINT  uFlags;
  UINT  uCallbackMessage;
  HICON hIcon;
#if ...
  CHAR  szTip[64];
#else
  CHAR  szTip[128];
#endif
  DWORD dwState;
  DWORD dwStateMask;
  CHAR  szInfo[256];
  union {
    UINT uTimeout;
    UINT uVersion;
  } DUMMYUNIONNAME;
  CHAR  szInfoTitle[64];
  DWORD dwInfoFlags;
  GUID  guidItem;
  HICON hBalloonIcon;
} NOTIFYICONDATAA, *PNOTIFYICONDATAA;

Member

cbSize

Art: DWORD

Die Größe dieser Struktur in Bytes.

hWnd

Typ: HWND

Ein Handle für das Fenster, das Benachrichtigungen empfängt, die einem Symbol im Benachrichtigungsbereich zugeordnet sind.

uID

Typ: UINT

Der anwendungsdefinierte Bezeichner des Taskleistensymbols. Die Shell verwendet entweder (hWnd plus uID) oder guidItem , um zu identifizieren, welches Symbol beim Aufrufen Shell_NotifyIcon ausgeführt werden soll. Sie können einem einzelnen hWnd mehrere Symbole zugeordnet haben, indem Sie jedem eine andere uID zuweisen. Wenn guidItem angegeben ist, wird uID ignoriert.

uFlags

Typ: UINT

Flags, die entweder angeben, welche der anderen Elemente der Struktur gültige Daten enthalten oder der QuickInfo zusätzliche Informationen darüber bereitstellen, wie sie angezeigt werden soll. Dieses Element kann eine Kombination der folgenden Werte sein:

NIF_MESSAGE (0x00000001)

0x00000001. Das Element "uCallbackMessage" ist gültig.

NIF_ICON (0x00000002)

0x00000002. Das hIcon-Element ist gültig.

NIF_TIP (0x00000004)

0x00000004. Das szTip-Element ist gültig.

NIF_STATE (0x00000008)

0x00000008. Die Elemente dwState und dwStateMask sind gültig.

NIF_INFO (0x00000010)

0x00000010. Zeigen Sie eine Ballonbenachrichtigung an. Die Member szInfo, szInfoTitle, dwInfoFlags und uTimeout sind gültig. Beachten Sie, dass uTimeout nur in Windows 2000 und Windows XP gültig ist.

  • Um die Ballonbenachrichtigung anzuzeigen, geben Sie NIF_INFO an, und geben Sie Text in szInfo an.
  • Um eine Ballonbenachrichtigung zu entfernen, geben Sie NIF_INFO an, und geben Sie eine leere Zeichenfolge über szInfo an.
  • Wenn Sie ein Symbol für den Benachrichtigungsbereich hinzufügen möchten, ohne eine Benachrichtigung anzuzeigen, legen Sie nicht das NIF_INFO-Flag fest.

NIF_GUID (0x00000020)

0x00000020.

  • Windows 7 und höher: GuidItem ist gültig.
  • Windows Vista und früher: Reserviert.

NIF_REALTIME (0x00000040)

0x00000040. Windows Vista und höher. Wenn die Ballonbenachrichtigung nicht sofort angezeigt werden kann, verwerfen Sie sie. Verwenden Sie dieses Flag für Benachrichtigungen, die Echtzeitinformationen darstellen, die bedeutungslos oder irreführend wären, wenn sie zu einem späteren Zeitpunkt angezeigt werden. Beispielsweise eine Nachricht mit der Meldung "Ihr Telefon klingelt". NIF_REALTIME ist nur dann sinnvoll, wenn sie mit dem NIF_INFO-Flag kombiniert wird.

NIF_SHOWTIP (0x00000080)

0x00000080. Windows Vista und höher. Verwenden Sie die Standard-QuickInfo. Wenn uVersion auf NOTIFYICON_VERSION_4 festgelegt ist, wird die Standard-QuickInfo normalerweise unterdrückt und kann durch die von der Anwendung erstellte Popup-Benutzeroberfläche ersetzt werden. Wenn die Anwendung die Standard-QuickInfo mit NOTIFYICON_VERSION_4 anzeigen möchte, kann sie NIF_SHOWTIP angeben, um anzugeben, dass die Standard-QuickInfo weiterhin angezeigt werden soll.

uCallbackMessage

Typ: UINT

Ein anwendungsdefinierter Nachrichtenbezeichner. Das System verwendet diesen Bezeichner, um Benachrichtigungsmeldungen an das in hWnd identifizierte Fenster zu senden. Diese Benachrichtigungen werden gesendet, wenn ein Mausereignis oder ein Mauszeiger im umgebenden Rechteck des Symbols auftritt, wenn das Symbol mit der Tastatur ausgewählt oder aktiviert wird oder wenn diese Aktionen in der Ballonbenachrichtigung auftreten.

Wenn das uVersion-Element entweder 0 oder NOTIFYICON_VERSION ist, enthält der wParam-Parameter der Nachricht den Bezeichner des Taskleistensymbols, in dem das Ereignis aufgetreten ist. Dieser Bezeichner kann 32 Bit lang sein. Der lParam-Parameter enthält die dem Ereignis zugeordnete Maus- oder Tastaturnachricht. Wenn der Zeiger beispielsweise über ein Taskleistensymbol bewegt wird, wird lParam auf WM_MOUSEMOVE festgelegt.

Wenn das uVersion-Element NOTIFYICON_VERSION_4 ist, erhalten Anwendungen weiterhin Benachrichtigungsereignisse in Form von anwendungsdefinierte Nachrichten über das uCallbackMessage-Element , aber die Interpretation der Parameter lParam und wParam dieser Nachricht wird wie folgt geändert:

  • LOWORD(lParam) enthält Benachrichtigungsereignisse wie NIN_BALLOONSHOW, NIN_POPUPOPEN oder WM_CONTEXTMENU.
  • HIWORD(lParam) enthält die Symbol-ID. Symbol-IDs sind auf eine Länge von 16 Bit beschränkt.
  • GET_X_LPARAM(wParam) gibt die X-Ankerkoordinate für Benachrichtigungsereignisse NIN_POPUPOPEN, NIN_SELECT, NIN_KEYSELECT und alle Mausnachrichten zwischen WM_MOUSEFIRST und WM_MOUSELAST zurück. Wenn eine dieser Nachrichten von der Tastatur generiert wird, wird wParam auf die obere linke Ecke des Zielsymbols festgelegt. Für alle anderen Nachrichten ist wParam nicht definiert.
  • GET_Y_LPARAM(wParam) gibt die Y-Ankerkoordinate für Benachrichtigungsereignisse und Nachrichten zurück, wie für den X-Anker definiert.

hIcon

Typ: HICON

Ein Handle für das Symbol, das hinzugefügt, geändert oder gelöscht werden soll. Windows XP und höher unterstützen Symbole mit bis zu 32 BPP.

Wenn nur ein 16 x 16 Pixelsymbol bereitgestellt wird, wird es in einem Systemsatz auf einen hohen dpi-Wert auf eine größere Größe skaliert. Dies kann zu einem unattraktiven Ergebnis führen. Es wird empfohlen, dass Sie sowohl ein 16x16-Pixel-Symbol als auch ein 32x32-Symbol in Ihrer Ressourcendatei angeben. Verwenden Sie LoadIconMetric , um sicherzustellen, dass das richtige Symbol geladen und entsprechend skaliert wird. Ein Codebeispiel finden Sie unter Hinweise.

szTip[64]

Typ: TCHAR[64]

Eine NULL-Zeichenfolge, die den Text für eine Standard-QuickInfo angibt. Es kann maximal 64 Zeichen enthalten, einschließlich des beendenden NULL-Zeichens.

Für Windows 2000 und höher kann szTip maximal 128 Zeichen enthalten, einschließlich des beendenden NULL-Zeichens.

szTip[128]

Typ: TCHAR[64]

Eine NULL-Zeichenfolge, die den Text für eine Standard-QuickInfo angibt. Es kann maximal 64 Zeichen enthalten, einschließlich des beendenden NULL-Zeichens.

Für Windows 2000 und höher kann szTip maximal 128 Zeichen enthalten, einschließlich des beendenden NULL-Zeichens.

dwState

Art: DWORD

Windows 2000 und höher. Der Status des Symbols. Ein oder beide der folgenden Werte:

NIS_HIDDEN (0x00000001)

0x00000001. Das Symbol ist ausgeblendet.

NIS_SHAREDICON (0x00000002)

0x00000002. Die Symbolressource wird von mehreren Symbolen gemeinsam genutzt.

dwStateMask

Art: DWORD

Windows 2000 und höher. Ein Wert, der angibt, welche Bits des dwState-Members abgerufen oder geändert werden. Die möglichen Werte sind mit denen für dwState identisch. Wenn Sie diesen Member beispielsweise auf NIS_HIDDEN festlegen, wird nur der ausgeblendete Zustand des Elements geändert, während das Symbolfreigabebit unabhängig vom Wert ignoriert wird.

szInfo[256]

Typ: TCHAR[256]

Windows 2000 und höher. Eine NULL-Zeichenfolge, die den Text angibt, der in einer Ballonbenachrichtigung angezeigt werden soll. Es kann maximal 256 Zeichen enthalten, einschließlich des beendenden NULL-Zeichens, sollte jedoch auf 200 Zeichen in Englisch beschränkt werden, um die Lokalisierung zu ermöglichen. Um die Ballonbenachrichtigung von der Benutzeroberfläche zu entfernen, löschen Sie entweder das Symbol (mit NIM_DELETE), oder legen Sie das NIF_INFO-Flag in uFlags fest, und legen Sie szInfo auf eine leere Zeichenfolge fest.

DUMMYUNIONNAME

DUMMYUNIONNAME.uTimeout

Typ: UINT

Windows 2000 und höher.

Hinweis Dieses Element ist ab Windows Vista veraltet. Die Anzeigezeiten von Benachrichtigungen basieren nun auf den Einstellungen für Barrierefreiheit des Systems.
 
Union mit uVersion. Der Timeoutwert in Millisekunden für Benachrichtigungen. Das System erzwingt minimale und maximale Timeoutwerte. In uTimeout angegebene Werte, die zu groß sind, werden auf den Maximalwert festgelegt. Werte, die zu klein sind, sind standardmäßig auf den Mindestwert festgelegt. Die minimalen und maximalen Timeoutwerte des Systems sind derzeit auf 10 Sekunden bzw. 30 Sekunden festgelegt. Weitere Informationen zu uTimeout finden Sie unter Hinweise.

DUMMYUNIONNAME.uVersion

Typ: UINT

Windows 2000 und höher. Union mit uTimeout (ab Windows Vista veraltet). Gibt an, welche Version der Shell-Benachrichtigungssymbolschnittstelle verwendet werden soll. Weitere Informationen zu den Unterschieden in diesen Versionen finden Sie unter Shell_NotifyIcon. Dieses Element wird nur verwendet, wenn Shell_NotifyIcon zum Senden einer NIM_SETVERSION-Nachricht verwendet wird.

szInfoTitle[64]

Typ: TCHAR[64]

Windows 2000 und höher. Eine NULL-Zeichenfolge, die einen Titel für eine Ballonbenachrichtigung angibt. Dieser Titel wird in einer größeren Schriftart direkt über dem Text angezeigt. Es kann maximal 64 Zeichen enthalten, einschließlich des beendenden NULL-Zeichens, sollte jedoch auf 48 Zeichen in Englisch beschränkt werden, um die Lokalisierung zu ermöglichen.

dwInfoFlags

Art: DWORD

Windows 2000 und höher. Flags, die festgelegt werden können, um das Verhalten und die Darstellung einer Ballonbenachrichtigung zu ändern. Das Symbol befindet sich links neben dem Titel. Wenn das element szInfoTitle die Länge null hat, wird das Symbol nicht angezeigt.

NIIF_NONE (0x00000000)

0x00000000. Kein Symbol.

NIIF_INFO (0x00000001)

0x00000001. Ein Informationssymbol.

NIIF_WARNING (0x00000002)

0x00000002. Ein Warnungssymbol.

NIIF_ERROR (0x00000003)

0x00000003. Ein Fehlersymbol.

NIIF_USER (0x00000004)

0x00000004. Windows XP SP2 und höher.

  • Windows XP: Verwenden Sie das symbol in hIcon als Titelsymbol des Benachrichtigungsballons.
  • Windows Vista und höher: Verwenden Sie das in hBalloonIcon identifizierte Symbol als Titelsymbol der Benachrichtigungsblase.

NIIF_NOSOUND (0x00000010)

0x00000010. Windows XP und höher. Geben Sie den zugehörigen Sound nicht wieder. Gilt nur für Benachrichtigungen.

NIIF_LARGE_ICON (0x00000020)

0x00000020. Windows Vista und höher. Die große Version des Symbols sollte als Benachrichtigungssymbol verwendet werden. Dies entspricht dem Symbol mit Dimensionen SM_CXICON x SM_CYICON. Wenn dieses Flag nicht festgelegt ist, wird das Symbol mit den Dimensionen SM_CXSMICON x SM_CYSMICON verwendet.

  • Dieses Flag kann mit allen Aktiensymbolen verwendet werden.
  • Anwendungen, die ältere angepasste Symbole (NIIF_USER mit hIcon) verwenden, müssen eine neue SM_CXICON x SM_CYICON Version im Taskleistensymbol (hIcon) bereitstellen. Diese Symbole werden herunterskaliert, wenn sie in der Taskleiste oder im Systemsteuerungsbereich (System Control Area, SCA) angezeigt werden.
  • Neue angepasste Symbole (NIIF_USER mit hBalloonIcon) müssen eine SM_CXICON x SM_CYICON Version im angegebenen Symbol (hBalloonIcon) bereitstellen.

NIIF_RESPECT_QUIET_TIME (0x00000080)

0x00000080. Windows 7 und höher. Zeigen Sie die Ballonbenachrichtigung nicht an, wenn sich der aktuelle Benutzer in "stiller Zeit" befindet, d. h. die erste Stunde, nachdem sich ein neuer Benutzer zum ersten Mal bei seinem Konto angemeldet hat. Während dieser Zeit sollten die meisten Benachrichtigungen nicht gesendet oder angezeigt werden. Dies ermöglicht es einem Benutzer, sich ohne diese Ablenkungen an ein neues Computersystem zu gewöhnen. Die Ruhezeit tritt auch für jeden Benutzer nach einem Betriebssystemupgrade oder sauber Installation auf. Eine Benachrichtigung, die mit diesem Flag während der Ruhezeit gesendet wird, wird nicht in die Warteschlange gestellt. es wird einfach nicht angezeigt verworfen. Die Anwendung kann die Benachrichtigung später erneut senden, wenn sie zu diesem Zeitpunkt noch gültig ist.

Da eine Anwendung nicht vorhersagen kann, wann es zu einer ruhigen Zeit kommen könnte, empfehlen wir, dieses Flag immer für alle geeigneten Benachrichtigungen von einer Anwendung festzulegen, die bedeutet, dass ruhezeitliche Zeiten berücksichtigt werden.

In ruhigen Zeiten sollten bestimmte Benachrichtigungen weiterhin gesendet werden, da sie vom Benutzer als Feedback als Reaktion auf eine Benutzeraktion erwartet werden, für instance, wenn er oder sie ein USB-Gerät einsteckt oder ein Dokument druckt.

Wenn sich der aktuelle Benutzer nicht in ruher Zeit befindet, hat dieses Flag keine Auswirkung.

NIIF_ICON_MASK (0x0000000F)

0x0000000F. Windows XP und höher. Reserviert.

guidItem

Typ: GUID

Windows XP und höher.

  • Windows 7 und höher: Eine registrierte GUID, die das Symbol identifiziert. Dieser Wert überschreibt uID und ist die empfohlene Methode zum Identifizieren des Symbols. Das NIF_GUID-Flag muss im uFlags-Element festgelegt werden.
  • Windows XP und Windows Vista: Reserviert; muss auf 0 festgelegt werden.
Wenn Ihre Anwendung sowohl unter Windows Vista als auch unter Windows 7 ausgeführt werden soll, müssen Sie unbedingt die Windows-Version überprüfen und nur ein nonzero guidItem angeben, wenn unter Windows 7 oder höher.

Wenn Sie das Benachrichtigungssymbol mit einer GUID in einem Aufruf von Shell_NotifyIcon identifizieren, müssen Sie dieselbe GUID verwenden, um das Symbol in nachfolgenden Shell_NotifyIcon-Aufrufen zu identifizieren, die dasselbe Symbol betreffen.

Um eine GUID für die Verwendung in diesem Member zu generieren, verwenden Sie ein GUID-generierendes Tool, z. B. Guidgen.exe.

hBalloonIcon

Typ: HICON

Windows Vista und höher. Das Handle eines benutzerdefinierten Benachrichtigungssymbols, das von der Anwendung bereitgestellt wird und unabhängig vom Symbol für den Benachrichtigungsbereich verwendet werden soll. Wenn dieses Element nicht NULL ist und das NIIF_USER-Flag im dwInfoFlags-Element festgelegt ist, wird dieses Symbol als Benachrichtigungssymbol verwendet. Wenn dieser Member NULL ist, wird das Legacyverhalten ausgeführt.

Hinweise

Unter "Benachrichtigungen" in den Richtlinien für die Windows-Benutzerfreundlichkeitsinteraktion finden Sie weitere Informationen zur Benutzeroberfläche für Benachrichtigungen und bewährte Methoden für Inhalte.

Wenn Sie das flag NIF_INFO im uFlags-Element festlegen, wird die Benachrichtigung im Sprechblasenstil verwendet. Weitere Informationen zu diesen Benachrichtigungen finden Sie unter QuickInfos für Sprechblasen.

Es kann nicht mehr als eine Sprechblasebenachrichtigung gleichzeitig für die Taskleiste angezeigt werden. Wenn eine Anwendung versucht, eine Benachrichtigung anzuzeigen, wenn bereits eine angezeigt wird, wird die neue Benachrichtigung in die Warteschlange eingereiht und angezeigt, wenn die ältere Benachrichtigung nicht mehr vorhanden ist. In Versionen von Windows vor Windows Vista wird die neue Benachrichtigung erst angezeigt, wenn die vorhandene Benachrichtigung für mindestens die minimale Timeoutlänge des Systems sichtbar ist, unabhängig vom uTimeout-Wert der ursprünglichen Benachrichtigung. Wenn der Benutzer den Computer nicht verwendet, zählt das System diese Zeit nicht für das Timeout.

Mehrere Member dieser Struktur werden nur für Windows 2000 und höher unterstützt. Um diese Member zu aktivieren, fügen Sie eine der folgenden Zeilen in den Header ein:

// Windows Vista and later:
#define NTDDI_VERSION NTDDI_WIN2K
#define NTDDI_VERSION NTDDI_WINXP
#define NTDDI_VERSION NTDDI_VISTA

// Windows XP and earlier:
#define _WIN32_IE 0x0500

Beachten Sie, dass Sie die -Struktur mit ihrer Größe initialisieren müssen. Wenn Sie die Größe der derzeit definierten Struktur verwenden, wird die Anwendung möglicherweise nicht mit früheren Versionen von Shell32.dll ausgeführt, die eine kleinere Struktur erwarten. Sie können Ihre Anwendung mit früheren Versionen von Shell32.dll ausführen, indem Sie die entsprechende Versionsnummer definieren (siehe Versionen von Shell und allgemeinen Steuerelementen). Dies kann jedoch zu Problemen führen, wenn Ihre Anwendung auch auf neueren Systemen ausgeführt werden muss.

Sie können die Anwendungskompatibilität mit allen Shell32.dll Versionen aufrechterhalten, während Sie weiterhin die aktuellen Headerdateien verwenden, indem Sie die Größe der NOTIFYICONDATA-Struktur entsprechend festlegen. Bevor Sie die Struktur initialisieren, verwenden Sie DllGetVersion , um zu bestimmen, welche Shell32.dll Version auf dem System installiert ist, und initialisieren Sie cbSize mit einem der folgenden Werte:

Shell32.dll Version cbSize
6.0.6 oder höher (Windows Vista und höher) sizeof(NOTIFYICONDATA)
6.0 (Windows XP) NOTIFYICONDATA_V3_SIZE
5.0 (Windows 2000) NOTIFYICONDATA_V2_SIZE
Versionen niedriger als 5.0 NOTIFYICONDATA_V1_SIZE
 

Wenn Sie diesen Wert für cbSize verwenden, kann Ihre Anwendung NOTIFYICONDATA in einer Methode verwenden, die mit früheren Shell32.dll Versionen kompatibel ist.

Das folgende Codebeispiel zeigt die Versionsüberprüfung, die eine Anwendung aktivieren kann, die das guidItem-Element verwendet, um sowohl unter Windows Vista als auch unter Windows 7 auszuführen. Es stellt eine boolesche Funktion bereit, die TRUE zurückgibt, wenn das Betriebssystem Windows 7 ist. Es sei denn, dieser Member gibt TRUE zurück, das guidItem-Element muss auf 0 festgelegt werden.

Hinweis Dieser Code ist spezifisch für die Versionsnummer von Windows 7. Es wird erwartet, dass zukünftige Versionen von Windows und Windows Server den guidItem-Member unterstützen, und zu diesem Zeitpunkt muss dieser Code aktualisiert werden, um auch spätere Versionsnummern als gültig zu identifizieren.
 
BOOL IsWin7OrLater()
{
    // Initialize the OSVERSIONINFOEX structure.
    OSVERSIONINFOEX osvi;
    ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX));
    osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
    osvi.dwMajorVersion = 6;
    osvi.dwMinorVersion = 1;

    // Initialize the condition mask.
    DWORDLONG dwlConditionMask = 0;
    VER_SET_CONDITION(dwlConditionMask, VER_MAJORVERSION, VER_GREATER_EQUAL);
    VER_SET_CONDITION(dwlConditionMask, VER_MINORVERSION, VER_GREATER_EQUAL);

    // Perform the test.
    return VerifyVersionInfo(&osvi, 
                             VER_MAJORVERSION | VER_MINORVERSION,
                             dwlConditionMask);
}

Im folgenden Codebeispiel wird die Verwendung von LoadIconMetric zum Laden eines Symbols für die Verwendung mit hohem DPI-Wert veranschaulicht.

// Declare NOTIFYICONDATA details. 
// Error handling is omitted here for brevity. Do not omit it in your code.

NOTIFYICONDATA nid = {};
nid.cbSize = sizeof(nid);
nid.hWnd = hWnd;
nid.uFlags = NIF_ICON | NIF_TIP | NIF_GUID;

// Note: This is an example GUID only and should not be used.
// Normally, you should use a GUID-generating tool to provide the value to
// assign to guidItem.
static const GUID myGUID = 
    {0x23977b55, 0x10e0, 0x4041, {0xb8, 0x62, 0xb1, 0x95, 0x41, 0x96, 0x36, 0x69}};
nid.guidItem = myGUID;

// This text will be shown as the icon's tooltip.
StringCchCopy(nid.szTip, ARRAYSIZE(nid.szTip), L"Test application");

// Load the icon for high DPI.
LoadIconMetric(hInst, MAKEINTRESOURCE(IDI_SMALL), LIM_SMALL, &(nid.hIcon));

// Show the notification.
Shell_NotifyIcon(NIM_ADD, &nid) ? S_OK : E_FAIL;

Problembehandlung

Wenn Sie den guidItem-Member verwenden, um das Symbol zu identifizieren, und dieses Symbol nicht angezeigt wird oder einige Aufrufe von Shell_NotifyIcon fehlschlagen, ist einer der folgenden Fälle die wahrscheinliche Ursache:
  1. Das NIF_GUID-Flag wurde nicht bei jedem Aufruf von Shell_NotifyIcon festgelegt. Nachdem Sie das Benachrichtigungssymbol mit einer GUID in einem Aufruf von Shell_NotifyIcon identifiziert haben, müssen Sie dieselbe GUID verwenden, um das Symbol in allen nachfolgenden Shell_NotifyIcon Aufrufen zu identifizieren, die sich mit demselben Symbol befassen.
  2. Die Binärdatei, die das Symbol enthält, wurde verschoben. Der Pfad der Binärdatei ist in der Registrierung der GUID des Symbols enthalten und kann nicht geändert werden. Einstellungen, die dem Symbol zugeordnet sind, werden durch ein Upgrade nur beibehalten, wenn der Dateipfad und die GUID unverändert sind. Wenn der Pfad geändert werden muss, sollte die Anwendung alle GUID-Informationen entfernen, die beim Registrieren des vorhandenen Symbols hinzugefügt wurden. Sobald diese Informationen entfernt wurden, können Sie die Binärdatei an einen neuen Speicherort verschieben und mit einer neuen GUID erneut registrieren. Alle Einstellungen, die der ursprünglichen GUID-Registrierung zugeordnet sind, gehen verloren.

    Dies geschieht auch bei einer parallelen Installation. Bei einer parallelen Installation sollten neue Versionen der Anwendung die GUID der Binärdatei aktualisieren.

    Hinweis Die einzige Ausnahme für eine verschobene Datei tritt auf, wenn sowohl die ursprünglichen als auch die verschobenen Binärdateien authenticode-signiert von demselben Unternehmen sind. In diesem Fall werden die Einstellungen durch die Verschiebung beibehalten.
     

Hinweis

Der Shellapi.h-Header definiert NOTIFYICONDATA 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]
Kopfzeile shellapi.h

Weitere Informationen

Benachrichtigungen und der Infobereich