在进入关联问题之前,正如我在评论中提到的那样,WMI是一个红色的鲱鱼,WMI代表 Windows Management Instrumentation 它是一个用于获取系统信息的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\.
创建密钥或者如果它具有正确的值,您可能正在使用非标准方式关联文件,可能使用错误配置的第三方程序。