1

Я на Windows Server 2003, но я думаю, что это то же самое на Windows XP.

Я переместил некоторые мобильные приложения (обычно люди создают их для USB-флешек) в такие места, как c:\bin\app1\app1.exe. Старое местоположение было c:\ Programs \app1\app1.exe

app1.exe может открывать файлы типа * .ap1

Когда я щелкаю правой кнопкой мыши файл file.ap1 и выбираю открыть с помощью ... появляется диалоговое окно Открыть с помощью . Но это не работает, как я ожидаю в этой ситуации. Я могу выбрать c:\bin\app1\app1.exe с помощью кнопки "Обзор", но:

  • app1.exe не появится в диалоговом окне, где я только что выбрал его в списке программ, как я привык к нему после нажатия кнопки "ОК" в диалоговом окне просмотра.

  • app1.exe не откроет его, когда я нажму ok в диалоговом окне "Открыть с помощью", приложение, которое было назначено до этого момента, все равно откроет его

Что может быть причиной?

  • моя учетная запись является членом группы администраторов
  • Я просто изменил права доступа к папке c:\bin\app1\ и убедился, что у группы "Администраторы" есть все права. Я также унаследовал это вручную для всех субфодлеров и субфайлов.
  • Я также пытался переместить приложение (со всей папкой) в "c:\ program files\app1\app1.exe

2 ответа2

1

Это только обходной путь, поэтому, если кто-нибудь найдет лучший ответ, я с радостью приму его.

Я удалил все старые ссылки на app1.exe, выполнив поиск в реестре "app1".

Реестр ссылается на app1 под разными именами, такими как "Приложение 1", я обыскал и удалил их все.

Я перезапустил Windows (не знаю, если это необходимо)

После перезагрузки я мог делать то, что хотел (с app1.exe)

Все еще чувствует себя как грязный хак.

0

Реестр Windows отслеживает типы файлов и приложения, используемые для их обработки. Общая концепция - « файловая ассоциация ».

Тип файла * .txt будет "связан" с одним или несколькими приложениями, которые могут обрабатывать этот тип файла. Для каждого типа файла существует ряд действий, которые могут быть выполнены над файлом, известные как "глаголы". Например: открыть, распечатать, редактировать.

Для практического примера найдите следующие разделы реестра и проверьте содержимое:

Перейдите в HKEY_CLASSES_ROOT\.txt и проверьте значение «(Стандарт)» или «». В моем случае это говорит txtfile. Теперь перейдите в HKEY_CLASSES_ROOT\txtfile и посмотрите, что здесь находится. Обратите внимание, что в HKEY_CLASSES_ROOT\txtfile\shell есть набор "глаголов" или определенных действий, одним из которых является "открытый" ключ. Под ключ "command" будет указывать командную строку, запускаемую при двойном щелчке любого файла * .txt в проводнике. В моем случае это:

"%SystemRoot%\System32\NOTEPAD.EXE %1"

% 1 в этой командной строке развернется до полного пути файла, по которому вы дважды щелкнули. Следовательно, двойной щелчок по файлу * .txt запустит Notepad.exe с полным путем к файлу с двойным щелчком в качестве командной строки.

Обнаружив соответствующие разделы реестра, относящиеся к * .ap1, вы сможете изменить командную строку, указав правильный путь для исполняемого файла.

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