如何以编程方式操作“开始”菜单“最近使用的程序”列表?

时间:2009-04-11 10:35:17

标签: windows rot13

我正在寻找一种方法来显示(经常)使用的程序,以便它们出现在“开始”菜单的“最近使用的程序”中(在零触摸安装之后)。

我正在试图弄清楚Windows如何存储与程序使用频率相关的信息。

当我从“开始”菜单运行程序时,我可以看到的唯一(可能)相关的东西是一些(看似未记录的)BagMRU注册表项,对我没有任何意义。

我确实找到a way来固定程序,但这不是我在这里寻找的。

更新:请参阅评论以解释我为什么要这样做...

Update2 :我正在取得进展......现在我知道他们的密钥存储在哪里,我知道密钥 ROT13 “已加密”。值的后4个字节是计数器.. http://blog.didierstevens.com/2006/07/24/rot13-is-used-in-windows-you’re-joking/

这个ROT13(wikipedia)加密很有趣。嗯,当然有一个原因。他们不希望您通过简单的搜索找到它。

Lol, and in windows 7 they are using Vigenère crypto!要好得多:D

4 个答案:

答案 0 :(得分:14)

冒着downvotes的风险,这不是你应该做的事情。 “最近使用的程序”属于计算机的所有者,而不属于您的程序。

如果你的程序和你想象的一样有用,它会自动显示在那里。

Raymond Chen已经做了很多文章,说明为什么这样的事情是个坏主意。

这在所有其他不好的想法中如此:

  • 如何强制我的程序成为某些文件类型的处理程序?
  • 如何让我的程序始终处于最佳状态。
  • 如果我的用户以前有权自行决定如何配置软件,我怎么能为他们做出决定? : - )

更新

您可能想尝试一些事情。

  • 将程序(explorer.exe)复制到axolotl.exe并运行足够的时间以使其在列表中。然后在注册表中搜索它(假设你的磁盘上没有另一个axolotl.exe)。请注意,某些字符串存储为Unicode,因此它可能不是一个简单的搜索。如果MS以某种方式对它进行编码以使其变得更加困难,我也不会感到惊讶。
  • Microsoft的sysinternals有一个可以监视注册表的工具(regmon,看看here,您可以在运行程序时运行该程序几次以查看添加到列表中时更新的内容。

答案 1 :(得分:4)

答案 2 :(得分:0)

如果可以的话,我建议不要这样做。正如您所说,它是未记录的行为,并规避了常用程序列表的预期用法。桌面图标和快速启动快捷方式有什么问题?

答案 3 :(得分:0)

使用Win32 Shell COM接口
几十年来,Google群组(Win32)上的所有未记录的功能都得到了解释,方法与W95相同。