Windows 机密确定常用程序

Raymond Chen

单击“开始” 按钮,将弹出“开始”菜单。左侧是一个程序列表。该程序列表是如何选择的?首先,我们来了解其基本原则:最近运行的程序通常显示在“开始”菜单的首页上。请记住此原则,很快您将发现在进行一些微调时必须使用此原则。

基本规则是:您每次启动一个程序,该程序就获得一分。反之,如果未启动某个程序的时间越长,它失掉的分值就会越多。“开始”菜单显示分值最高的那些程序。非常简单,是不是?这一部分选择算法不会令人感到困惑。在应用基本规则后,将进行微调,这是最令人费解的部分。

在进行微调之前,应了解一些基本规则中未明确说明的事项。请注意,规则讨论的是启动程序而非快捷方式。一些程序安装了多个快捷方式,使用哪个快捷方式都可以启动程序。如果不同的快捷方式都指向同一可执行程序,则该程序会累积通过不同快捷方式获取的所有分值。

“开始”菜单

“开始”菜单(单击该图像获得较大视图)

这还意味着即使您不从“开始”菜单中运行程序,但只要从“资源管理器”运行程序,它就会获得分值。如果手动运行程序(比如打开文件夹并双击可执行文件来运行程序),它仍可以获得分值并最终显示在“开始”菜单的首页中。

现在,如果该程序获得足够分值并显示在“开始”菜单的首页中,则 Windows® 就要确定显示哪个快捷方式图标。毫无疑问,将优先显示最常使用的快捷方式。

某些程序会从列表中筛选出来,这是微调的一部分。例如,已固定到“开始”菜单的程序不会出现,因为显示同一程序的两个图标没有意义。毕竟,正是因为您经常运行该程序,才会将其固定到“开始”菜单。

另一个微调步骤是筛选掉干扰项。显示许多程序的原因是:它们是记事本或写字板等常见帮助程序的快捷方式 - 如显示自述文件的快捷方式。需要筛选掉这些快捷方式,这样就不会将其视为代表记事本等程序。顺便提一句,程序通过在其应用程序注册中创建 NoStartPage 值,可以将其注册为不包含在“开始”菜单的首页中。

此外,基本规则不考虑启动一次后始终运行的程序。根据对规则的严格解释,此程序在您启动它时获得一分,在经过一段时间后会失去这一分。(在这种情况下,“经常”是“所有时间”的非常保守的说法!)因此,我们添加了另一条规则:如果某个程序连续运行一天,它会获得一分。这样,程序就可以按照其获得的分值显示在“开始”菜单的首页中,而不会因为某些程序获得分值过多而掩盖实际启动的程序。毕竟,如果始终某个运行程序,您就不需要频繁启动它。

在 Windows Vista™ 中,添加了几个附加的微调规则。例如,在选择未从“开始”菜单中启动过的程序的候选快捷方式时,现在优先使用没有命令行参数的快捷方式。最常运行的程序将始终显示在该列表中,而不论其分数是多少。

Raymond Chen的网站 The Old New Thing 和同命书(Addison Wesley,2007)讨论了 Windows 历史和 Win32 编程。您可以给他打电话(这一点很重要),来电将按电话打入顺序接听。

© 2008 Microsoft Corporation 与 CMP Media, LLC.保留所有权利;不得对全文或部分内容进行复制.