Freigeben über


SetLocaleInfoA-Funktion (winnls.h)

Legt ein Informationselement im Benutzerüberschreibungsbereich des aktuellen Gebietsschemas fest. Diese Funktion legt die Systemstandardwerte nicht fest.

Vorsicht Da diese Funktion Werte für alle Anwendungen ändert, sollte sie nur von den Regionalen und Sprachoptionen der Systemsteuerung oder einem ähnlichen Dienstprogramm aufgerufen werden. Wenn Sie eine internationale Änderung an Systemparametern vornehmen, muss die aufrufende Anwendung die WM_SETTINGCHANGE Nachricht übertragen, um zu vermeiden, dass Instfähigkeiten in anderen Anwendungen verursacht werden.
 

Syntax

BOOL SetLocaleInfoA(
  [in] LCID   Locale,
  [in] LCTYPE LCType,
  [in] LPCSTR lpLCData
);

Parameter

[in] Locale

Für die ANSI-Version der Funktion Gebietsschema-ID des Gebietsschemas mit der Codepage, die beim Interpretieren der lpLCData- Informationen verwendet wird. Für die Unicode-Version wird dieser Parameter ignoriert.

Sie können das MAKELCID Makro verwenden, um einen Gebietsschemabezeichner zu erstellen oder einen der folgenden vordefinierten Werte zu verwenden.

Die folgenden benutzerdefinierten Gebietsschema-IDs werden ebenfalls unterstützt.

[in] LCType

Typ der festzulegenden Gebietsschemainformationen. Gültige Konstanten finden Sie im Abschnitt "Konstanten, die im LCType-Parameter von GetLocaleInfo, GetLocaleInfoEx und SetLocaleInfo" von Gebietsschemainformationskonstantenverwendet werden. Die Anwendung kann nur einen Wert pro Aufruf angeben, aber sie kann den binären OR-Operator verwenden, um LOCALE_USE_CP_ACP mit jeder anderen Konstante zu kombinieren.

[in] lpLCData

Zeigen Sie auf eine mit Null beendete Zeichenfolge, die die festzulegenden Gebietsschemainformationen enthält. Die Informationen müssen im formatspezifisch für die angegebene Konstante vorliegen. Die Anwendung verwendet eine Unicode-Zeichenfolge für die Unicode-Version der Funktion und eine ANSI-Zeichenfolge für die ANSI-Version.

Rückgabewert

Gibt einen Wert ungleich Null zurück, wenn dies erfolgreich war, oder 0 andernfalls. Um erweiterte Fehlerinformationen zu erhalten, kann die Anwendung GetLastErroraufrufen, wodurch eine der folgenden Fehlercodes zurückgegeben werden kann:

  • ERROR_ACCESS_DISABLED_BY_POLICY. Die Gruppenrichtlinie des Computers oder der Benutzer hat diesen Vorgang verboten.
  • ERROR_INVALID_ACCESS. Der Zugriffscode war ungültig.
  • ERROR_INVALID_FLAGS. Die für Flags angegebenen Werte waren ungültig.
  • ERROR_INVALID_PARAMETER. Ungültige Parameterwerte.

Bemerkungen

Diese Funktion schreibt in die Registrierung, in der werte festgelegt werden, die einem bestimmten Benutzer anstelle einer bestimmten Anwendung zugeordnet sind. Diese Registrierungswerte wirken sich auf das Verhalten anderer Anwendungen aus, die vom Benutzer ausgeführt werden. In der Regel sollte eine Anwendung diese Funktion nur aufrufen, wenn der Benutzer die Änderungen explizit angefordert hat. Die Registrierungseinstellungen sollten nicht für die Benutzerfreundlichkeit einer einzelnen Anwendung geändert werden.

Für den LCType--Parameter sollte die Anwendung LOCALE_USE_CP_ACP festlegen, dass anstelle der Gebietsschemacodeseite für die Zeichenfolgenübersetzung die ANSI-Codeseite des Betriebssystems verwendet wird.

Wenn die ANSI-Version dieser Funktion mit einem Nur-Unicode-Gebietsschemabezeichner verwendet wird, kann die Funktion erfolgreich sein, da das Betriebssystem die Systemcodepage verwendet. Zeichen, die auf der Systemcodeseite nicht definiert sind, werden jedoch in der Zeichenfolge als Fragezeichen (?) angezeigt.

Ab Windows Vista sind die LOCALE_SDATE und LOCALE_STIME Konstanten veraltet. Verwenden Sie diese Konstanten nicht. Verwenden Sie stattdessen LOCALE_SSHORTDATE und LOCALE_STIMEFORMAT. Ein benutzerdefiniertes Gebietsschema verfügt möglicherweise nicht über ein einzelnes, einheitliches Trennzeichen innerhalb des Datums- oder Uhrzeitformats: Ein Format wie "12/31, 2006" oder "03:56'23" ist möglicherweise gültig.

Anmerkung

Der winnls.h-Header definiert SetLocaleInfo 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
mindestens unterstützte Client- Windows 2000 Professional [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Zielplattform- Fenster
Header- winnls.h (enthalten Windows.h)
Library Kernel32.lib
DLL- Kernel32.dll

Siehe auch

GetLocaleInfo-

Funktionen