22

Если у меня есть Notepad++, работающий от имени администратора, я не могу перетащить файлы из проводника в него (они отклоняются курсором «стоп»), и если я пытаюсь использовать расширение проводника, щелкните правой кнопкой мыши «Редактировать в Notepad++» и он выдаст ошибку ,

Открытие файлов с помощью диалогового окна «Открыть» в Notepad++ или даже двойной щелчок по ним в Проводнике работает как следует. (Обратите внимание, что двойной щелчок не является решением, так как очень немногие файлы, которые я хочу открыть, по умолчанию являются Notepad++)

У меня UAC установлен на «никогда не уведомлять».

Использование взлома, когда UAC «режим одобрения администратором» отключен, устраняет проблему, но лишает возможности использовать приложения Metro.

6 ответов6

31

Процессы с более низким уровнем целостности не могут передавать сообщения более высоким уровням.

Вы обнаружите, что это относится к любому процессу с повышенными правами, начиная с Windows Vista и выше.

Процессы выполняются с определенными токенами доступа и уровнями целостности. Проводник работает под ограниченным токеном вашей учетной записи пользователя со средним уровнем целостности, и когда вы повышаете уровень процесса, работая от имени администратора, он будет использовать другой неограниченный токен безопасности с высоким уровнем целостности.

Частью перестройки безопасности, которая пришла с Vista, была Изоляция привилегий пользовательского интерфейса, которая не позволяет процессам более низкого уровня отправлять сообщения в высокоуровневые (поскольку сообщения могут быть вредоносными, как в случае атак с разбивкой).

Таким образом, в этом случае Windows не позволит Explorer отправлять сообщение перетаскивания в Notepad++ (на самом деле он возвращает "успех", но удаляет сообщение).

Более подробную информацию о токенах доступа, уровнях целостности и UIPI см. В разделе « Механизм целостности Windows».

7

Луи объяснил, почему вы не можете перетащить из проводника не в режиме администратора в Notepad++ в режиме администратора, а magicandre рассказал вам, как обойти это, запустив проводник в режиме администратора.

После того, как я сам столкнулся с подобной проблемой, я должен спросить: почему вы в первую очередь используете Notepad++ в режиме администратора? В моем случае это было потому, что плагин HTML Tidy, который мне нравится использовать, должен обновлять файл cfg в папке Program Files Notepad++; а в Windows 8 программные файлы заблокированы как сумасшедшие.

В итоге я разблокировал папку «Программные файлы Notepad++», как показано здесь:http://forums.auran.com/trainz/entry.php?115-Removing-the-security-restrictions-from-a-folder-in-the -Программа-Files папка

Тогда я мог бы с удовольствием запустить Notepad++ как обычный пользователь, а затем я мог перетаскивать или использовать всегда удобное контекстное меню из проводника без режима администратора в Notepad++ без режима администратора.

Я надеюсь, что это поможет вам в некотором роде.

4

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

2

В большинстве случаев (когда у вас есть права на чтение, но не на запись от имени обычного пользователя), есть лучший подход, чем запуск Notepad++ с правами администратора:

Установите плагин "Сохранить как администратор" (см. Менеджер плагинов Notepad++).

Теперь просто запустите Notepad++ как обычный пользователь и откройте файлы, которые вы хотите редактировать. Поскольку у вас есть доступ для чтения, это будет работать без проблем.

Теперь каждый раз, когда вы пытаетесь сохранить файл, у которого нет разрешения на запись, плагин "Сохранить как администратор" будет повышать привилегии для сохранения. Поэтому, если вы сейчас выполните команду сохранения, появится диалоговое окно UAC, и если вы выберите "да" в этом диалоговом окне, файл будет сохранен с правами администратора.

1

Другим обходным решением является использование автономной (заархивированной) версии Notepad++ вместо версии установщика.

  1. Удалить / Удалить Блокнот ++
  2. Перейдите на страницу загрузки Notepad ++ и загрузите пакет .zip или .7z (не exe)
  3. Распакуйте содержимое этого пакета где-нибудь в вашем пользовательском каталоге

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

0

Изменение разрешений для задачи с повышенными правами, установленной службой установщиков с повышенными правами, в лучшем случае затруднено. Windows 7 x64. Я взял предложенный путь .. Я использовал Панель управления »Программы и компоненты для удаления Notepad++.

Затем зашел на сайт Notepad++ и скачал архивную версию без инсталлятора.

Затем использовал проводник Windows для извлечения всех файлов по пути C:\Program Files (x86)\Notepad++ - так же, как и исходный путь установщика.

Затем я создал группу папок в разделе « Все программы » меню «Пуск».

  • Нажмите Пуск меню
  • Щелкните правой кнопкой мыши Все программы
  • Открыть всех пользователей
  • Нажмите Программы
  • Щелкните правой кнопкой мыши, Создать »Папка, введите Notepad++

Затем я использовал другое окно Проводника для создания ярлыка для notepad++.exe , затем перетащил его в C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Notepad++ , отвечая на диалоговое окно « Отказ в доступе к папке назначения» с помощью кнопки «Продолжить».

Затем отключите функцию AutoUpdate для плагинов на Notepad++, как и большинство программ в наши дни "Обновления" часто являются "враждебными" и несут реальную степень риска. Для приложения, которое я предпочитаю знать, когда происходит обновление ... это не сервис, поэтому рискованно доверять разработчикам правильное тестирование их кода.

Перейти »Плагины» Менеджер плагинов »Показать плагины» Настройки (в левом нижнем углу), снимите флажок Уведомлять об обновлениях плагинов при запуске.

Теперь я могу перетащить снова.

Теперь процесс Notepad++ не запускается как задача с повышенными правами, и другим приложениям, таким как Explorer, разрешено перетаскивать файлы в открытое окно программы Notepad++, чтобы открывать их.

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