Как измениться для GetSystemDirectory? - PullRequest
1 голос
/ 23 апреля 2011

Извините за мой очень плохой английский.

Как переназначить папку "windows \ system32" только для моего приложения, чтобы GetSystemDirectory вернул мой путь. Я пытался играть с SHSetFolderPath

SHSetFolderPathA (CSIDL_SYSTEM, NULL, 0, "c:\\WINDOWS\\system33");

но я получаю ошибку 0x80070057 (плохие аргументы).

Как это сделать? Возможно ли это?

1 Ответ

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

Сбой, потому что это не может быть сделано.

В документации указано, что этот код ошибки возвращается, если:

  • Недопустимое значение csidl.
  • Значение csidl не относится к виртуальной папке.
  • Значение csidl не относится к системной папке.
  • Значение csidl относится к папке, которую нельзя переименовать или переместить.
  • Значение dwFlags не равно 0 (нулю).
  • Значение pszPath равно NULL.
  • Строка, на которую указывает значение pszPath, является пустой строкой ("") нулевой длины.

Я выделил элемент, относящийся к вашему вопросу.

ЭтоФункция существует, чтобы позволить вам переименовать такие вещи, как папка «Мои документы».Переименовать системный каталог не имеет смысла.

Очевидно, у вас есть проблема, которую нужно решить, но это не проблема.Возможно, если вы расширили проблему, мы могли бы помочь с ней.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...