Прежде чем перейти к проблеме ассоциации, как я указал в комментариях, 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
какой список расширений для каждого пользователя и связанных с ним программ заполняется автоматически (я думаю, что этот ключ имеет более низкий приоритет, чем другой, но я не конечно).
Если у вас нет HKEY_CLASSES_ROOT\.
созданного ключа или если он имеет правильные значения, возможно, вы используете нестандартный способ сопоставления файлов, возможно, с использованием сторонней программы, которая неправильно настроена.