3

Я использую 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 ответ1

1

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .