You can see it in ProcMon.
It seems to set the REG_SZ
values ACP
, MACCP
, and OEMCP
in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage
to 65001
.
I’m not entirely sure but it might be related to the variable gAnsiCodePage
in KernelBase.dll
, which GetACP
reads. If you really want to, you might be able to change it dynamically for your program regardless of the system setting by dynamically disassembling GetACP
to find the instruction sequence that reads gAnsiCodePage
and obtaining a pointer to it, then updating the variable directly.
(Actually, I see references to an undocumented function named SetCPGlobal
that would’ve done the job, but I can’t find that function on my system. Not sure if it still exists.)