Почему в проводнике не отображаются мои подключенные диски?

Я использую Windows 10 Pro 64-bit.

Мое приложение (которое было запущено от имени администратора) сопоставляет папку с диска D на сетевой диск Z с помощью Windows Network API wnetaddconnection2(),

Когда я открыл Проводник, я не увидел диск Z. Однако, когда я открыл другие приложения (например, Visual Studio) в режиме администратора и перешел к папке "Этот компьютер", я смог увидеть диск Z в разделе "Сетевое расположение".

Почему и как решить эту проблему с отображаемыми дисками, которые не отображаются сразу после подключения?


Этой проблемы не бывает

  • в Windows 7 ИЛИ
  • когда мое приложение не запускается от имени администратора или
  • после перезапуска explorer.exe ИЛИ
  • в диалоге открытия файла в других приложениях (таких как Word, Paint, Visual Studio и т. д.)

Примечание: у меня EnabledLinkedConnections установлено в 1, EnableLUA установлено в 1.

Пробное решение

Одним из решений является поиск программы в инструментах администрирования, которая называется Локальная политика безопасности, и отключите все политики, связанные с UAC, в разделе "Параметры безопасности"> "Локальные политики"> "Параметры безопасности" (расположены в нижних 15 политиках списка), кроме UAC: поведение..., UAC: коммутатор... и UAC: виртуализация...

Однако я не хочу идти по этому пути из-за нескольких проблем, таких как невозможность открыть приложение для Windows 10, такое как Калькулятор и т. Д.

1 ответ

Решение

Из-за UAC оболочка работает со стандартными разрешениями пользователя, она не может видеть подключенные диски, которые были настроены из вашего приложения, работающего с правами администратора.

Существует обходной путь, называемый включением опцииEnableLinkedConnections:

  • Нажмите Пуск, введите regedit в поле Пуск программ и файлов и нажмите клавишу ВВОД.
  • Найдите и щелкните правой кнопкой мыши раздел реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System,
  • Укажите "Новый", а затем нажмите "Значение DWORD".
  • Тип EnableLinkedConnectionsи нажмите клавишу ВВОД.
  • Щелкните правой кнопкой мыши EnableLinkedConnections, а затем нажмите Modify,
  • В поле "Значение" введите 1 и нажмите кнопку "ОК".
  • Закройте редактор реестра, а затем restart the computer,

Или вы можете применить мой хак для запуска Explorer от имени администратора, чтобы также увидеть подключенные диски.

Другие вопросы по тегам