NOTIFYICONDATAA-Struktur (shellapi.h)

Enthält Informationen, die das System zum Anzeigen von Benachrichtigungen im Infobereich 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;

Mitglieder

cbSize

Art: DWORD

Die Größe dieser Struktur in Byte.

hWnd

Typ: HWND-

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

uID

Typ: UINT

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

uFlags

Typ: UINT

Flags, die entweder angeben, welche der anderen Member der Struktur gültige Daten enthalten, oder zusätzliche Informationen für die QuickInfo bereitstellen, wie sie angezeigt werden soll. Dieses Element kann eine Kombination aus den folgenden Werten sein:

NIF_MESSAGE (0x00000001)

0x00000001. Der uCallbackMessage-Member 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 DwState - und dwStateMask-Elemente sind gültig.

NIF_INFO (0x00000010)

0x00000010. Anzeigen einer Sprechblasebenachrichtigung. 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 Sprechblasenbenachrichtigung anzuzeigen, geben Sie NIF_INFO an, und geben Sie Text in szInfo an.
  • Um eine Sprechblasenbenachrichtigung zu entfernen, geben Sie NIF_INFO an, und stellen Sie eine leere Zeichenfolge über szInfo bereit.
  • Wenn Sie ein Benachrichtigungsbereichssymbol hinzufügen möchten, ohne eine Benachrichtigung anzuzeigen, legen Sie das NIF_INFO Flag nicht fest.

NIF_GUID (0x00000020)

0x00000020.

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

NIF_REALTIME (0x00000040)

0x00000040. Windows Vista und höher. Wenn die Sprechblasebenachrichtigung nicht sofort angezeigt werden kann, verwerfen Sie sie. Verwenden Sie dieses Kennzeichen für Benachrichtigungen, die Echtzeitinformationen darstellen, die bedeutungslos oder irreführend sind, wenn sie zu einem späteren Zeitpunkt angezeigt werden. Beispielsweise eine Nachricht, die besagt, dass "Ihr Telefon klingelt". NIF_REALTIME ist nur dann sinnvoll, wenn sie mit der NIF_INFO Kennzeichnung kombiniert werden.

NIF_SHOWTIP (0x00000080)

0x00000080. Windows Vista und höher. Verwenden Sie die standardmäßige QuickInfo. Wenn uVersion auf NOTIFYICON_VERSION_4 festgelegt ist, wird die standardmäßige QuickInfo unterdrückt und kann durch die von der Anwendung gezeichnete Popup-Ui ersetzt werden. Wenn die Anwendung die Standard-QuickInfo mit NOTIFYICON_VERSION_4 anzeigen möchte, kann sie angeben, NIF_SHOWTIP angegeben werden soll, dass die Standard-QuickInfo weiterhin angezeigt werden soll.

uCallbackMessage

Typ: UINT

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

Wenn der uVersion-Member 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 Tastaturmeldung. Wenn der Zeiger beispielsweise über ein Taskleistensymbol bewegt wird, wird lParam auf WM_MOUSEMOVE festgelegt.

Wenn das uVersion-Mitglied NOTIFYICON_VERSION_4 ist, empfangen 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 Meldungen zurück, die für den X-Anker definiert sind.

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 von bis zu 32 BPP.

Wenn nur ein Symbol für 16 x 16 Pixel bereitgestellt wird, wird es auf eine größere Größe in einem System skaliert, das auf einen hohen DPI-Wert festgelegt ist. Dies kann zu einem unattraktiven Ergebnis führen. Es wird empfohlen, sowohl ein Symbol mit 16 x 16 Pixel als auch ein Symbol mit 32 x 32 In Ihrer Ressourcendatei bereitzustellen. Verwenden Sie LoadIconMetric , um sicherzustellen, dass das richtige Symbol geladen und entsprechend skaliert wird. Ein Codebeispiel finden Sie in den Hinweisen.

szTip[64]

Typ: CHAR[64]

Eine mit Null beendete Zeichenfolge, die den Text für eine Standard-QuickInfo angibt. Er kann maximal 64 Zeichen enthalten, einschließlich des endenden Nullzeichens.

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

szTip[128]

Typ: CHAR[64]

Eine mit Null beendete Zeichenfolge, die den Text für eine Standard-QuickInfo angibt. Er kann maximal 64 Zeichen enthalten, einschließlich des endenden Nullzeichens.

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

dwState

Art: DWORD

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

NIS_HIDDEN (0x00000001)

0x00000001. Das Symbol ist ausgeblendet.

NIS_SHAREDICON (0x00000002)

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

dwStateMask

Art: DWORD

Windows 2000 und höher. Ein Wert, der angibt, welche Bits des dwState-Elements abgerufen oder geändert werden. Die möglichen Werte entsprechen denen für dwState. Wenn Sie dieses Element 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: CHAR[256]

Windows 2000 und höher. Eine mit Null beendete Zeichenfolge, die den Text angibt, der in einer Sprechblasenbenachrichtigung angezeigt werden soll. Es kann maximal 256 Zeichen umfassen, einschließlich des endenden Nullzeichens, sollte jedoch auf 200 Zeichen in Englisch beschränkt werden, um die Lokalisierung zu berücksichtigen. Um die Sprechblasenbenachrichtigung aus 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.

Note Dieses Element ist ab Windows Vista veraltet. Benachrichtigungsanzeigezeiten basieren jetzt auf systembasierten Barrierefreiheitseinstellungen.
 
Union mit uVersion. Der Timeoutwert in Millisekunden für die Benachrichtigung. 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, auf den Minimalwert festgelegt sind. Die Mindest- und Maximaltimeoutwerte des Systems werden derzeit auf 10 Sekunden bzw. 30 Sekunden festgelegt. Weitere Erläuterungen zu uTimeout finden Sie in den Anmerkungen.

DUMMYUNIONNAME.uVersion

Typ: UINT

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

szInfoTitle[64]

Typ: CHAR[64]

Windows 2000 und höher. Eine mit Null beendete Zeichenfolge, die einen Titel für eine Sprechblasenbenachrichtigung angibt. Dieser Titel wird in einer größeren Schriftart unmittelbar über dem Text angezeigt. Es kann maximal 64 Zeichen umfassen, einschließlich des endenden Nullzeichens, sollte jedoch auf 48 Zeichen in Englisch beschränkt werden, um die Lokalisierung zu berücksichtigen.

dwInfoFlags

Art: DWORD

Windows 2000 und höher. Flags, die festgelegt werden können, um das Verhalten und die Darstellung einer Sprechblasenbenachrichtigung zu ändern. Das Symbol wird links neben dem Titel platziert. Wenn das Element "szInfoTitle " null ist, wird das Symbol nicht angezeigt.

NIIF_NONE (0x00000000)

0x00000000. Kein Symbol.

NIIF_INFO (0x00000001)

0x00000001. Ein Informationssymbol.

NIIF_WARNING (0x00000002)

0x00000002. Ein Warnsymbol.

NIIF_ERROR (0x00000003)

0x00000003. Ein Fehlersymbol.

NIIF_USER (0x00000004)

0x00000004. Windows XP SP2 und höher.

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

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 Abmessungen SM_CXICON x SM_CYICON. Wenn dieses Kennzeichen nicht festgelegt ist, wird das Symbol mit Abmessungen SM_CXSMICON x SM_CYSMICON verwendet.

  • Dieses Kennzeichen 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 verkleinert, 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 bereitgestellten Symbol (hBalloonIcon) bereitstellen.

NIIF_RESPECT_QUIET_TIME (0x00000080)

0x00000080. Windows 7 und höher. Zeigen Sie die Sprechblasenbenachrichtigung nicht an, wenn sich der aktuelle Benutzer in "Ruhezeit" befindet. Dies ist die erste Stunde, nachdem sich ein neuer Benutzer zum ersten Mal bei seinem Konto anmeldet. Während dieser Zeit sollten die meisten Benachrichtigungen nicht gesendet oder angezeigt werden. Dadurch kann sich ein Benutzer ohne diese Ablenkungen an ein neues Computersystem gewöhnen. Die Ruhezeit tritt auch für jeden Benutzer nach einem Betriebssystemupgrade oder einer Neuinstallation auf. Eine Benachrichtigung, die während der Ruhezeit mit dieser Kennzeichnung gesendet wird, wird nicht in die Warteschlange gestellt. sie wird einfach nicht angezeigt. 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 die Ruhezeit auftreten kann, wird empfohlen, dass dieses Kennzeichen immer für alle geeigneten Benachrichtigungen von jeder Anwendung festgelegt wird, die die Ruhezeit berücksichtigt.

Während der Ruhezeit sollten bestimmte Benachrichtigungen weiterhin gesendet werden, da sie vom Benutzer als Feedback als Reaktion auf eine Benutzeraktion erwartet werden, z. B. wenn er ein USB-Gerät einsteckt oder ein Dokument druckt.

Wenn der aktuelle Benutzer nicht in ruher Zeit ist, 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 setzt uID außer Kraft 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 sein.
Wenn Ihre Anwendung sowohl auf Windows Vista als auch auf Windows 7 ausgeführt werden soll, müssen Sie die Version von Windows überprüfen und nur einen Nonzero guidItem angeben, wenn Windows 7 oder höher aktiviert ist.

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

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

hBalloonIcon

Typ: HICON

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

Bemerkungen

Weitere Informationen zu Benachrichtigungen und bewährten Methoden zu Benachrichtigungsbenutzeroberfläche und Inhalten finden Sie unter "Benachrichtigungen" in den Windows Richtlinien für die Interaktion mit der Benutzeroberfläche der Benutzeroberfläche.

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

Für die Taskleiste kann jeweils nicht mehr als eine Sprechblasebenachrichtigung 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 abläuft. 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 von der uTimeout Wert der ursprünglichen Benachrichtigung. Wenn der Benutzer den Computer nicht verwendet, zählt das System diese Zeit nicht in Richtung des Timeouts.

Mehrere Member dieser Struktur werden nur für Windows 2000 und höher unterstützt. Um diese Member zu aktivieren, schließen Sie eine der folgenden Zeilen in die Kopfzeile 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 aktuell definierten Struktur verwenden, wird die Anwendung möglicherweise nicht mit früheren Versionen von Shell32.dllausgefü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 Shell- und allgemeine Steuerelementversionen). 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 beibehalten, während Sie die aktuellen Headerdateien weiterhin verwenden, indem Sie die Größe der NOTIFYICONDATA-Struktur entsprechend festlegen. Bevor Sie die Struktur initialisieren, bestimmen Sie mithilfe von DllGetVersion , 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 unter 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.

Im folgenden Codebeispiel wird die Versionsüberprüfung gezeigt, mit der eine Anwendung aktiviert werden kann, die das guidItem Mitglied sowohl für Windows Vista als auch für Windows 7 verwendet. 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, muss das guidItem-Element auf 0 festgelegt werden.

Note Dieser Code ist spezifisch für die Windows 7 Versionsnummer. Es wird erwartet, dass zukünftige Versionen von Windows und Windows Server das guidItem Member unterstützen, und zu diesem Zeitpunkt muss dieser Code aktualisiert werden, um spätere Versionsnummern als auch 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);
}

Das folgende Codebeispiel zeigt die Verwendung von LoadIconMetric zum Laden eines Symbols für die Verwendung mit hohem DPI-Wert.

// 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;

Fehlerbehebung

Wenn Sie das guidItem-Element zum Identifizieren des Symbols verwenden 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 in jedem Aufruf von Shell_NotifyIcon nicht 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 dasselbe Symbol behandeln.
  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 nur dann durch ein Upgrade 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. Nachdem 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 tritt auch bei einer parallelen Installation auf. 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 verschobenen Binärdateien Authenticode-signiert sind, die von demselben Unternehmen signiert sind. In diesem Fall werden einstellungen durch die Verschiebung beibehalten.
     

Note

Der header shellapi.h 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.

Requirements

Anforderung Wert
Mindestens unterstützter Client Windows XP [nur Desktop-Apps]
Mindestanforderungen für unterstützte Server Windows 2000 Server [nur Desktop-Apps]
Header shellapi.h

Siehe auch

Benachrichtigungen und der Infobereich