Я использую Windows 10 Pro 64-бит.
Мое приложение (запущенное от имени администратора) сопоставляет папку с диска 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 Shell работает с правами обычного пользователя и не видит подключенные диски, настроенные из вашего приложения, работающего с правами администратора.
Eстьобходной путь, называемый включением опцииEnableLinkedConnections
:
- Нажмите кнопку «Пуск», введите regedit в поле «Пуск» — «Программы и файлы», а затем нажмите клавишу ENTER.
- Найдите и щелкните правой кнопкой мыши подраздел реестра
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
. - Наведите указатель мыши на пункт «Создать», а затем щелкните «Значение DWORD».
- Введите
EnableLinkedConnections
и нажмите ENTER. - Щелкните правой кнопкой мыши
EnableLinkedConnections
, а затем щелкнитеModify
. - В поле «Значение» введите 1 и нажмите кнопку «ОК».
- Выйдите из редактора реестра, а затем
restart the computer
.
Или тыможете применить мой хак для запуска Explorer от имени администраторачтобы также увидеть подключенные диски.