GetMenuStringA-Funktion (winuser.h)

Kopiert die Textzeichenfolge des angegebenen Menüelements in den angegebenen Puffer.

Hinweis Die GetMenuString-Funktion wurde ersetzt. Verwenden Sie die GetMenuItemInfo-Funktion , um den Text des Menüelements abzurufen.
 

Syntax

int GetMenuStringA(
  [in]            HMENU hMenu,
  [in]            UINT  uIDItem,
  [out, optional] LPSTR lpString,
  [in]            int   cchMax,
  [in]            UINT  flags
);

Parameter

[in] hMenu

Typ: HMENU

Ein Handle für das Menü.

[in] uIDItem

Typ: UINT

Das zu ändernde Menüelement, wie durch den uFlag-Parameter bestimmt.

[out, optional] lpString

Typ: LPTSTR

Der Puffer, der die NULL-beendete Zeichenfolge empfängt. Wenn die Zeichenfolge so lang oder länger als lpString ist, wird die Zeichenfolge abgeschnitten, und das beendende NULL-Zeichen wird hinzugefügt. Wenn lpStringNULL ist, gibt die Funktion die Länge der Menüzeichenfolge zurück.

[in] cchMax

Typ: int

Die maximale Länge der zu kopierenden Zeichenfolge in Zeichen. Wenn die Zeichenfolge länger als das im nMaxCount-Parameter angegebene Maximum ist, werden die zusätzlichen Zeichen abgeschnitten. Wenn nMaxCount 0 ist, gibt die Funktion die Länge der Menüzeichenfolge zurück.

[in] flags

Typ: UINT

Gibt an, wie der uIDItem-Parameter interpretiert wird. Dieser Parameter muss einen der folgenden Werte aufweisen.

Wert Bedeutung
MF_BYCOMMAND
0x00000000L
Gibt an, dass uIDItem den Bezeichner des Menüelements angibt. Wenn weder das MF_BYCOMMAND - noch MF_BYPOSITION-Flag angegeben wird, ist das MF_BYCOMMAND-Flag das Standardflagge.
MF_BYPOSITION
0x00000400L
Gibt an, dass uIDItem die nullbasierte relative Position des Menüelements angibt.

Rückgabewert

Typ: int

Wenn die Funktion erfolgreich ist, gibt der Rückgabewert die Anzahl der Zeichen an, die in den Puffer kopiert wurden, ohne das beendende NULL-Zeichen.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null.

Wenn das angegebene Element nicht vom Typ MIIM_STRING oder MFT_STRING ist, ist der Rückgabewert 0.

Hinweise

Der nMaxCount-Parameter muss größer als die Anzahl der Zeichen in der Textzeichenfolge sein, um das beendende NULL-Zeichen aufzunehmen.

Wenn nMaxCount 0 ist, gibt die Funktion die Länge der Menüzeichenfolge zurück.

Sicherheitswarnung

Der lpString-Parameter ist ein TCHAR-Puffer , und nMaxCount ist die Länge der Menüzeichenfolge in Zeichen. Die falsche Größenanpassung dieser Parameter kann zu einem Abschneiden der Zeichenfolge führen, was zu einem möglichen Datenverlust führt.

Beispiele

Ein Beispiel finden Sie unter Erstellen bearbeitbarer Benutzerbearbeitbare Beschleunigungsbeschleunigungen.

Hinweis

Der winuser.h-Header definiert GetMenuString 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 nicht codierungsneutralem Code 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 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winuser.h (einschließlich Windows.h)
Bibliothek User32.lib
DLL User32.dll
APIs ext-ms-win-ntuser-menu-l1-1-3 (eingeführt in Windows 10, Version 10.0.14393)

Siehe auch

Konzept

GetMenuItemID

Menüs

Referenz