При попытке вернуть путь к system32, чтобы я мог запустить блокнот из разрабатываемого мной приложения, я делаю следующее:
if (SHGetSpecialFolderPath(
GetSafeHwnd(),
lSystemPath,
CSIDL_SYSTEM,
TRUE ) )
{
lSystemPathCString = lSystemPath;
if (lSystemPathCString.ReverseFind('\\') != lSystemPathCString.GetLength() - 1)
lSystemPathCString += "\\";
}
Однако .... в SHGetSpecialFolderPath()
, используя CSIDL_SYSTEM
заканчивается установкой lSystemPath
в C: \ Windows \ system32, тогда как CIDSL_SYSTEMX86
устанавливает lSystemPath
в C: \ Windows \ SysWOW64.Это правильное поведение?Похоже, что эти идентификаторы переключены, и я хочу убедиться, что это не просто странное поведение в моей системе.
Заранее благодарен за любую помощь в прояснении этого.