4

Хорошо, мне нужно немного разобраться в мелочах реестра, так что вот что я получил и чего хочу.

Я использую небольшую надстройку Word, которая преобразует латинские буквы в кириллические, прямую транслитерацию. Теперь эта надстройка должна быть несколько менее чем идеально совместимой, поскольку она увеличивает время запуска Word, а также значительно увеличивает время его закрытия, останавливается на добрые 15 секунд, прежде чем окончательно закрывается. В других случаях он также каким-то образом портится с шаблоном normal.dot, спрашивая, нужно ли сохранить какие-либо изменения ... ну, я могу все это исправить, когда запускаю Word от имени администратора. Учитывая, что он не совсем прилипает, просто работая в качестве администратора из настроек совместимости, я добавил его в Invoker с помощью Application Compatibility Toolkit.

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

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

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

1 ответ1

0

То, что вам кажется необходимым сделать, это ...

1) Найти способ загрузить программу от имени администратора ...
2) Свяжите расширение указанной программы с этой предыдущей командой.

1) Команда будет выглядеть как powershell -Command "Start-Process 'word.exe' %1 -Verb runAs" .
2) Это можно сделать, либо щелкнув правой кнопкой мыши по файлу и изменив связанную программу, либо перейдя на панель управления и изменив ее там. Я уверен, что есть больше способов сделать это.

Теперь все в порядке, но, видимо, Windows не хочет ничего, кроме названия указанной программы (поэтому аргументы просто необходимо удалить). Эту проблему можно решить, создав файл .bat, который работает как программа и в качестве аргумента принимает имя файла, а затем передает его в Powershell.

Тогда файл bat - это просто команда powershell -Command "Start-Process 'word.exe' %1 -Verb runAs" . Теперь все, что осталось - это связать нужное расширение с этим bat-файлом и иметь его.

Отказ от ответственности: За секунду до появления приглашения UAC вы увидите загрузку командной строки для выполнения командного файла. После принятия приглашения UAC командная строка исчезнет, и Windows Power Shell выполнит программу с правами администратора.

Это пара изображений, которые, я думаю, будут полезны для настройки этой системы.

Тестирование UAC Подскажите! Связывание Bat-файла с расширением .txt

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