Можно ли получить текущую локаль потока, живущего в другом процессе Windows? Есть ли утилита, которая показывает это или, может быть, вызов Win32 API?
Локаль хранится в TEB , поэтому вам необходимо будет открыть процесс с правами PROCESS_VM_READ и поток с THREAD_QUERY_INFORMATION, а затем вызвать OpenThread () + NtQueryInformationThread ( ThreadBasicInformation ), затем получите адрес TEB в THREAD_BASIC_INFORMATION и прочитайте его с помощью ReadProcessMemory ().
Все это недокументировано и может измениться в любое время, вам также нужно обрабатывать WOW64 и т. Д. *
Для этого нет вызова API. Предполагая, что вы не можете изменить целевое приложение для предоставления информации по требованию, единственное решение, которое я вижу, - это глобальный хук. Это позволяет вам вставить свой код в обсуждаемую тему.