2

Я ищу альтернативу Runas.

Можно ли настроить ВСЕГДА РАБОТУ определенного приложения под другой учетной записью?

Это очень отличается от определения ярлыка, который запускается как бег (есть недостатки, которые я пытаюсь предотвратить).

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

Метод определения ярлыка не будет работать хорошо для меня, потому что тогда ему придется запустить ярлык, а затем перейти к файлу, и он потеряет способность просто дважды щелкнуть по PDF и Nitro автоматически откроет этот файл. pdf (я хочу продолжать иметь возможность автоматически открывать pdf, на котором пользователь дважды щелкнул, но он всегда должен запускаться от имени другого пользователя в Nitor - программе pdf по умолчанию).

Люди, не голосуйте против этого просто потому, что ответ может быть «Нет, это невозможно». Я думаю, что это может быть невозможно, но я был удивлен раньше (к моему удовольствию, и все же по-прежнему голосовал за то, что задал ценный вопрос). Если на это есть ответ, это будет очень ценно.

Я на самом деле использую Windows 7, но если это возможно на 10, то я рассмотрю обновление.

2 ответа2

0

Есть способ сделать это, но вы должны привыкнуть к взлому реестра. Я опишу это шаг за шагом:

  1. Запустите редактор реестра (regedit.exe) и разверните HKEY_CLASSES_ROOT. В этом ключе Windows записывает все ассоциации типов файлов и знает, какую программу открывать при двойном щелчке файла.
  2. Найдите ключ .pdf и запишите запись (по умолчанию) справа. Это будет имя идентификатора приложения, связанного с файлами PDF в вашей системе. У меня установлен Acrobat в моей системе, поэтому мой говорит AcroExch.Document.2017. Ваш может сказать что-то другое, если Nitro является программой по умолчанию для открытия PDF-файлов.

Скриншот, показывающий.PDF файл ассоциации

  1. Прокрутите вниз, чтобы найти ключ с именем, которое вы указали выше. Обратите внимание, что мы все еще смотрим на HKEY_CLASSES_ROOT. Также обратите внимание, что, вероятно, будет много ключей с очень похожими именами. Вы должны точно соответствовать имени.
  2. Опустите этот ключ и перейдите в shell -> Open -> command, как показано ниже. Значение (по умолчанию) - это команда, которую Windows выполнит при открытии (т.е. двойном щелчке) файла.

Снимок экрана, показывающий командную строку Open

  1. Вы можете поставить здесь любую команду, какую захотите. Обратите внимание, что в моем примере команда показывает полный путь к.EXE-файл, за которым следует аргумент (имя файла):

    "C:\Program Files (x86)\Adobe\Acrobat Reader 2017\Reader\AcroRd32.exe" "%1"
    

    В моей системе я бы изменил его на:

    runas /user:<user> "\"C:\Program Files (x86)\Adobe\Acrobat Reader 2017\Reader\AcroRd32.exe\" \"%1\""
    

    Где <user> будет именем учетной записи.

Вот и все. Вы можете закрыть редактор реестра, и все готово.

Обратите внимание, что кунг-фу я должен был сделать с кавычками в шаге 5. Это важно, чтобы вы поняли это правильно. Команда для открытия PDF-файлов на моем компьютере больше не AcroRd32.exe , это runas.exe . Runas.exe принимает только один аргумент - полную командную строку, которая будет выполнена, как если бы вы ввели ее из командной строки. Поскольку в этой строке есть пробелы, все это должно быть заключено в кавычки. И поскольку сама строка в кавычках также содержит кавычки (поскольку в имени файла могут быть пробелы), эти кавычки должны быть экранированы как строковые литералы.

0

Я думаю, что поскольку это можно сделать, заменив исполняемый файл приложения на скрипт, который выполняет команду RunAs.

Это может быть любой сценарий или сценарий, скомпилированный как исполняемый файл и имеющий то же имя.

Если вы не хотите заменять исполняемый файл, вы можете написать дополнительный скрипт, например .bat или .cmd и поместить его в ту же папку, что и .exe . Здесь вы столкнетесь с проблемой Windows, предпочитающей запускать .exe перед этими типами.

Вы можете изменить порядок приоритета, изменив переменную среды PATHEXT, значение по умолчанию которой равно .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC , чтобы повысить приоритет выбранного вами суффикса перед .exe .

Информацию о PATHEXT смотрите в ответах answer1 и answer2.

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