桌面、开始菜单和任务栏上的应用程序快捷方式显示空白图标

本文提供了基本指南,用于排查桌面上的应用程序快捷方式、开始菜单和任务栏显示空白图标的问题。

桌面、开始菜单和任务栏上的应用程序快捷方式显示空白图标。 此问题可能会影响内置(收件箱)和第三方应用程序。 但是,双击空白图标仍可打开应用程序。

此问题与图标缓存和 IconHandler 子项的问题有关。 下面是解决此问题的步骤。

步骤 1:清除图标缓存

若要清除 Windows 中的图标缓存,请执行以下步骤:

注意

在开始之前保存任何打开的工作,因为需要重启 Windows 资源管理器。

  1. 使用 Ctrl + Shift + Esc 快捷方式打开任务管理器,或右键单击任务栏并选择任务管理器。

  2. “进程 ”选项卡中,查找 Windows 资源管理器

  3. 右键单击 Windows 资源管理器 ,然后选择“ 结束任务”。

  4. 在任务管理器中,转到“文件>运行”新任务。

  5. 键入 cmd.exe 并创建具有管理权限的任务。

  6. 在命令提示符窗口中,键入以下命令,并在每个命令后按 Enter

    CD /d %userprofile%\AppData\Local
    DEL IconCache.db /a
    
  7. 在任务管理器中,再次转到“文件>运行新任务”。

  8. 键入 explorer.exe ,然后按 Enter 重启 Windows 资源管理器。

此过程清除图标缓存并还原任务栏图标的显示。

步骤 2:注册 Shell 体验主机

若要为所有用户注册 ShellExperienceHost 对象,请执行以下步骤:

  1. 以管理员身份打开 Windows PowerShell。

  2. 运行以下 cmdlet,为所有用户重新注册 ShellExperienceHost 对象:

    Get-AppXPackage -AllUsers | Where-Object {$_.InstallLocation -like "*ShellExperienceHost*"} | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}
    
  3. 重启系统以确保更改生效。

步骤 3:检查 IconHandler

若要在 Windows 注册表中检查和验证子项及其关联的类标识符(CLSID)的值 IconHandler ,请执行以下步骤:

重要

此部分(或称方法或任务)介绍了修改注册表的步骤。 但是,注册表修改不当可能会出现严重问题。 因此,按以下步骤操作时请务必谨慎。 出于防范目的,请在修改之前备份注册表,以便在出现问题时还原注册表。 有关如何备份和还原注册表的详细信息,请参阅:如何备份和还原 Windows 中的注册表

  1. 选择“开始”,键入 regedit,然后按 Enter 打开注册表编辑器。

  2. 导航到 HKEY_CLASSES_ROOT\lnkfile\shellex\IconHandler,然后检查 (Default) 值。

    在下面的示例中,值为 {00021401-0000-0000-C000-000000000046}.

    显示 IconHandler 默认值的屏幕截图。

  3. 导航到 HKEY_CLASSES_ROOT\CLSID\{00021401-0000-0000-C000-000000000046}

    注意

    十六进制(十六进制)值是在上一步中找到的值。

    确保 (Default) 此键中的值为 Shortcut.

    显示默认值为“快捷方式”的屏幕截图。

  4. 导航到 HKEY_CLASSES_ROOT\CLSID\{00021401-0000-0000-C000-000000000046}\InProcServer32 子项。

    确保 (Default) 此键中的值为 C:\Windows\System32\windows.storage.dll.

    显示 InProcServer32 默认值的屏幕截图。

场景:任务栏中缺少网络或 Internet 图标

如果任务栏缺少网络或 Internet 图标,请检查此策略设置是否已到位:用户配置\管理模板\“开始”菜单和“任务栏\隐藏通知”区域。

若要检查本地策略,请参阅 如何禁用本地组策略对象中的用户或计算机策略设置。

若要在域中查找组策略对象,请参阅 “编辑现有 GPO”。