3 Stimmen

Wie man die Spracheinstellung für einen Prozess festlegt, der von CreateProcess() gestartet wurde.

Beim Starten eines Prozesses mit CreateProcessW() ist es möglich, den Prozess mit einer anderen MBCP-Locale/Zeichencodierung zu erstellen als der, die als systemweite Standard-Zeichencodierung konfiguriert ist? Im Zielprozess sollte dies die gleiche Wirkung haben wie der Aufruf von _setmbcp().

Der Zielprozess ist nicht für Unicode aktiviert und verwendet einen einfachen main(int argc, char **argv) Einstiegspunkt. Ich möchte in der Lage sein, die Zeichencodierung auszuwählen, zu der Unicode-Argumente, die an CreateProcessW() übergeben werden, konvertiert werden sollen, welche sich von der standardmäßigen Zeichencodierung des Systems für nicht-Unicode-Programme unterscheidet.

2voto

pascal Punkte 3182

Ich bin gerade auf ein Microsoft-Dienstprogramm gestoßen: AppLocale, das genau dieses Bedürfnis zu adressieren scheint...

1voto

Rowland Shaw Punkte 37027

Ich glaube (und es ist lange her, seit ich das wissen musste), dass der Kindprozess die Lokalisierung des Elternprozesses (oder des darin befindlichen Threads) übernimmt - haben Sie versucht, die Thread-Lokalisierung zu wechseln, Ihren Prozess zu starten (und dann wieder zurück zu wechseln)?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X