Почему в проводнике не отображаются мои подключенные диски?
Я использую 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 от имени администратора, чтобы также увидеть подключенные диски.