1

Машина Windows 7, и, насколько я знаю, единственная странность в системе - это то, что я упоминаю ниже.

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

С тех пор я пытался выдавать новые команды, чтобы связать файлы без расширения с 32-битной версией, установленной по пути x86, но, несмотря на это, всякий раз, когда я пытаюсь дважды щелкнуть файл, он указывает на обычные "программные файлы". " дорожка. Я просматривал весь реестр несколько раз и не могу найти упоминание о несуществующем пути, и если я создаю вторую копию N++ по обычному пути к программным файлам, он работает просто отлично, но я бы хотел использовать только один экземпляр

После дополнительной работы, я думаю, я мог найти источник проблемы. Кажется, что это плохая запись в моем хранилище WMI (файл OBJECTS.DATA в ..\WBEM\Repository). К сожалению, я сделал ровно ноль с этим, и все, что я читаю из MS, говорит мне только попытаться перестроить его в качестве абсолютного крайнего средства, и, поскольку это просто плохая файловая ассоциация, я довольно не хочу этого делать ,

Есть ли способ восстановить сопоставление файлов в хранилище WMI?

1 ответ1

0

Прежде чем перейти к проблеме ассоциации, как я указал в комментариях, WMI - это красная сельдь, WMI - это инструментарий управления Windows, а API - для получения информации о системе, например, для запроса информации в стиле SQL. Я использовал его для получения информации о запущенных процессах. Относительно хранилища WMI:

Репозиторий WMI «% windir% System32\Wbem\Repository» - это база данных, в которой хранится метаинформация и определения для классов WMI; в некоторых случаях в хранилище также хранятся данные статического класса.

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

Что касается вашей проблемы, то "стандартным" способом связывания программы с файлами без расширения является использование . (точка) расширение под HKEY_CLASSES_ROOT , есть два варианта, "старый" способ:

[HKEY_CLASSES_ROOT\.]
@="Notepad++Test"

[HKEY_CLASSES_ROOT\Notepad++Test]
@="Notepad++ Test"
[HKEY_CLASSES_ROOT\Notepad++Test\shell\open\command]
@="\"C:\\Program Files\\Notepad++\\notepad++.exe\" %1"

и "новый" способ введен в Windows XP (или, может быть, в Windows 2000, я не уверен):

[HKEY_CLASSES_ROOT\.\OpenWithProgids]
"Notepad++Test"=""

[HKEY_CLASSES_ROOT\Notepad++Test]
@="Notepad++ Test"
[HKEY_CLASSES_ROOT\Notepad++Test\shell\open\command]
@="\"C:\\Program Files\\Notepad++\\notepad++.exe\" %1"

(Notepad++Test - это то, как я назвал ключ, который использовался в моих тестах, этот ключ может иметь любое имя в зависимости от того, кто создал ключ и как)

Проверьте, какие значения у вас есть, вы также можете проверить HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.\OpenWithProgids - список расширений для каждого пользователя и связанных с ним программ, который Explorer заполняет автоматически (я думаю, что этот ключ имеет более низкий приоритет, чем другой, но я не уверен).

Если у вас нет HKEY_CLASSES_ROOT\. ключ создан или если он имеет правильные значения, возможно, вы используете нестандартный способ сопоставления файлов, возможно, используете стороннюю программу, которая неправильно настроена.

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