Получить текущую локаль потока в другом процессе Windows - PullRequest
0 голосов
/ 29 апреля 2011

Можно ли получить текущую локаль потока, живущего в другом процессе Windows? Есть ли утилита, которая показывает это или, может быть, вызов Win32 API?

Ответы [ 2 ]

1 голос
/ 29 апреля 2011

Локаль хранится в TEB , поэтому вам необходимо будет открыть процесс с правами PROCESS_VM_READ и поток с THREAD_QUERY_INFORMATION, а затем вызвать OpenThread () + NtQueryInformationThread ( ThreadBasicInformation ), затем получите адрес TEB в THREAD_BASIC_INFORMATION и прочитайте его с помощью ReadProcessMemory ().

Все это недокументировано и может измениться в любое время, вам также нужно обрабатывать WOW64 и т. Д. *

0 голосов
/ 29 апреля 2011

Для этого нет вызова API. Предполагая, что вы не можете изменить целевое приложение для предоставления информации по требованию, единственное решение, которое я вижу, - это глобальный хук. Это позволяет вам вставить свой код в обсуждаемую тему.

...