Я ожидал, что GetSystemDirectory
вернет "C: \ Windows \ SysWOW64" .Вместо этого он возвращает "C: \ Windows \ system32" .
Как и должно быть, поскольку system32
является официальной системной папкой, даже для 32-битного приложения, работающего на64 битная винда.В этом последнем случае любые файлы, к которым 32-битное приложение пытается получить доступ в system32
, автоматически перенаправляются в SysWOW64
с помощью эмулятора WOW64.Вам не нужно делать ничего особенного в вашем коде, чтобы получить такое поведение.Поэтому продолжайте использовать system32
независимо от того, является ли ваше приложение 32-битным или 64-битным.
Если вы хотите получить путь к папке SysWOW64
, используйте вместо нее GetSystemWow64Directory()
.