windowWindows11:该文件没有与之关联的应用来执行该操作



前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站:人工智能

在这里插入图片描述



之前win10升级win11后,受不了桌面软件图标的的小箭头,所以弄掉了,但是随之而来产生了一个问题,这就是状态栏上的软件图标都打不开了对应的软件了,只会弹出一个弹窗显示:

该文件没有与之关联的应用来执行该操作。请安装应用,若已经安装应用,请在“默认应用设置"页面中创建关联。

表面上好像出现了没有默认识别的格式打开软件,但是这又不是普通文件,是一个图标。于是乎,查了一下之前取消小箭头的图标的方法好像是直接把注册表中的IsShortcut给删除了,看来win11还没有适配这种方式取消小箭头,而且IsShortcut是一个属性,通常用于指示文件是否是一个快捷方式(即桌面上的快捷方式图标)。当该属性被设置为true时,表示该文件是一个快捷方式;当该属性被设置为false时,表示该文件不是一个快捷方式。

1 恢复状态栏功能

据此我们需要重新恢复注册表:修改系统设置和重新启动资源管理器(explorer.exe

可以直接创建一个记事本.txt格式写入下面的代码保存,将格式更改为.bat,再右键以管理员身份运行这个文件就可以了

taskkill /f /im explorer.exe
reg add "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerShell Icons" /v 29 /d "C:Windowssystem32imageres.dll,154" /t reg_sz /f
reg add "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerShell Icons" /v 29 /d "C:Windowssystem32imageres.dll,154" /t reg_sz /f
reg add "HKEY_CLASSES_ROOTlnkfile" /v IsShortcut /t reg_sz /f
reg add "HEKY_CLASSES_ROOTpiffile" /v IsShortcut /t reg_sz /f
start explorer

解释一下这个指令:

  1. taskkill /f /im explorer.exe - 这条命令用于强制关闭名为"explorer.exe"的进程,这是Windows资源管理器的进程。

  2. reg add "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerShell Icons" /v 29 /d "C:Windowssystem32imageres.dll,154" /t reg_sz /f - 这条命令在注册表中添加了一个键值,用于指定系统图标的路径和索引。

  3. reg add "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerShell Icons" /v 29 /d "C:Windowssystem32imageres.dll,154" /t reg_sz /f - 这条命令在当前用户的注册表中添加了一个键值,同样用于指定系统图标的路径和索引。

  4. reg add "HKEY_CLASSES_ROOTlnkfile" /v IsShortcut /t reg_sz /f - 这条命令向注册表中的文件关联键添加了一个值,指示".lnk"文件扩展名是一个快捷方式。

  5. reg add "HEKY_CLASSES_ROOTpiffile" /v IsShortcut /t reg_sz /f - 这条命令向注册表中的文件关联键添加了一个值,指示".pif"文件扩展名是一个快捷方式。

  6. start explorer - 这个命令重新启动了资源管理器,以便应用之前对注册表的更改。

2 删除小箭头

管理员身份运行后会发现状态栏的图标就可以正常使用了,但是那个烦人的小箭头又会出现了,然后我们需要修改系统设置、清除图标缓存和重新启动资源管理器(explorer.exe)。

那么接下来我们再次创建一个记事本.txt加入下面的代码保存再将文件格式改成.bat,再以管理员身份运行,和上面的步骤一样。

reg add "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerShell Icons" /v 29 /d "%systemroot%system32imageres.dll,197" /t reg_sz /f
taskkill /f /im explorer.exe
attrib -s -r -h "%userprofile%AppDataLocaliconcache.db"
del "%userprofile%AppDataLocaliconcache.db" /f /q
start explorer
pause

解释一下这个指令:

  1. reg add "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerShell Icons" /v 29 /d "%systemroot%system32imageres.dll,197" /t reg_sz /f - 这条命令在注册表中添加了一个键值,用于指定系统图标的路径和索引。

  2. taskkill /f /im explorer.exe - 这条命令用于强制关闭名为"explorer.exe"的进程,这是Windows资源管理器的进程。

  3. attrib -s -r -h "%userprofile%AppDataLocaliconcache.db" - 这条命令用于修改文件属性,去掉指定文件的"系统文件"、"只读"和"隐藏"属性。

  4. del "%userprofile%AppDataLocaliconcache.db" /f /q - 这个命令用于删除指定文件,即图标缓存文件。

  5. start explorer - 这个命令重新启动了资源管理器,以便应用之前对注册表的更改。

  6. pause - 这个命令用于暂停批处理文件的执行,直到用户按下任意键。

据此,我们的状态栏可以正常使用并且强迫症烦人的小箭头也没有了。