locked
为什么一些应用程序不能被锁定在任务栏? RRS feed

  • 问题

  •  

    问题:

     

    为什么一些应用程序不能被锁定在任务栏?
    2011年8月30日 9:17
    版主

答案

  •  

    回答:

     

    原因1:一些可执行文件,包括一些快捷方式可能包含了一些特定的字符串,这些字符串会被自动排除在可锁定范围。

     

    在快捷方式的文件名内,如果包含以下任何字符串,这个程序都是不可以被锁定在任务栏的,也不会显示在最常使用列表中:

     

    Documentation

    Help

    Install

    More Info

    Read me

    Read First

    Readme

    Remove

    Setup

    Support

    What's New

     

    以下程序不可以被锁定在任务栏并且被从最常使用列表中排除:

     

    Applaunch.exe

    Control.exe

    Dfsvc.exe

    Dllhost.exe

    Guestmodemsg.exe

    Hh.exe

    Install.exe

    Isuninst.exe

    Lnkstub.exe

    Mmc.exe

    Mshta.exe

    Msiexec.exe

    Msoobe.exe

    Rundll32.exe

    Setup.exe

    St5unst.exe

    Unwise.exe

    Unwise32.exe

    Werfault.exe

    Winhlp32.exe

    Wlrmdr.exe

    Wuapp.exe

     

    以上列表被存储于如下注册表键值内。

    注意:这些列表不能被应用程序更改。

     

    HKEY_LOCAL_MACHINE

         Software

              Microsoft

                   Windows

                        CurrentVersion

                             Explorer

                                  FileAssociation

    AddRemoveApps

    AddRemoveNames

    HostApps

     

    原因2:任务栏锁定和最常使用列表的排除列表

     

    应用程序,进程和窗口可以选择使自身无法被锁定在任务栏或者开始菜单的最常使用列表。有以下三种方法可以实现。

     

    1.    添加NoStartPage条目到应用程序的注册位置,位置如下:

     

    HKEY_CLASSES_ROOT

         Applications

              Example.exe

                   NoStartPage

     

    NoStartPage相关的数据都会被忽略。只要条目存在即可。所以NoStartPage的理想类型应该为REG_NONE

    注意:任何对AppUserModelID的使用将会覆盖NoStartPage条目。如果AppUserModelID被应用在快捷方式,应用程序和窗口中的时候,它可以被锁定在任务栏或者出现在开始菜单最常使用列表中。

     

    2.    为窗口和快捷方式设置System.AppUserModel.PreventPinning属性。这个属性必须在PKEY_AppUserModel_ID属性之前设置。

     

    3.    在以下注册表位置添加AppUserModelID子键

    HKEY_LOCAL_MACHINE

         Software

              Microsoft

                   Windows

                        CurrentVersion

                             Explorer

                                  FileAssociation

                                       NoStartPageAppUserModelIDs

                                            AppUserModelID1

                                            AppUserModelID2

                                            AppUserModelID3

     

    每个AppUserModelID条目的值都是REG_NULL。任何可以在这个表单中找到的AppUserModelID都不会锁定在任务栏也不会显示在开始菜单最近常用列表中。

     

    更多细节,请参考以下文章:

     

    Application User Model IDs (AppUserModelIDs)
    2011年8月30日 9:18
    版主