Ответ Реми Лебо - правильный способ сделать это программно.Однако, это может быть больше, чем требуется для you ;Возможно, вы не захотите прыгать через все эти обручи, если ваша причина для этого не требует поддержки ОС нескольких поколений.Так что, если вы находитесь в Windows 10-land, то сейчас кажется безопасным для этого.Тем не менее, я не рекомендую это для его фундаментальных недостатков.Это простой неаккуратный обходной путь, поэтому используйте на свой страх и риск .
У меня нет подтверждающей документации на долговечность этого потенциального решения, только отдельные отзывы и личное тестирование.
Я слышал от пары людей, что важные системные каталоги ОС не локализованы.Я установил японский образ Windows 10 Pro на хост Hyper-V в качестве виртуальной машины.Вставка и ввод строки, C:\Windows\System32\config\systemprofile\AppData
в адресную строку Japanese Explorer, работали очень хорошо, как показано ниже,
Суть здесь в том, что после того, как вы получите значение системного каталога (мы не можем предположить C:\WINODWS\system32
), вы сможете жестко закодировать остальное простым английским языком.Вот пример приложения, которое может сделать это для вас:
#define STRICT
#include <Windows.h>
#include <wchar.h>
#include <memory>
int wmain()
{
static constexpr const wchar_t * SystemProfileAppData_RemainingPath
= L"\\config\\systemprofile\\AppData";
wchar_t system_path_buffer[MAX_PATH];
const std::size_t winapi_worked = GetSystemDirectory(system_path_buffer, MAX_PATH);
if (winapi_worked) {
const std::size_t system32_offset = wcsnlen_s(system_path_buffer, MAX_PATH);
const std::size_t appdata_offset = wcsnlen_s(SystemProfileAppData_RemainingPath, MAX_PATH);
const std::size_t path_bytes_size = (appdata_offset + system32_offset) * sizeof(wchar_t);
memcpy_s(
&system_path_buffer[system32_offset],
path_bytes_size,
SystemProfileAppData_RemainingPath,
path_bytes_size
);
wprintf_s(L"SYSTEM's AppData is here: %s\r\n", system_path_buffer);
return 0;
}
return 1;
}
SYSTEM's AppData is here: C:\WINDOWS\system32\config\systemprofile\AppData