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

Tar*_*mán 4 windows rot13

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

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

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

我确实找到了一种固定程序的方法,但这不是我在这里寻找的东西.

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

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

这个ROT13(维基百科)加密的东西很有趣.嗯,当然有一个原因.他们不希望您通过简单的搜索找到它.

大声笑,在Windows 7中他们正在使用Vigenèrecrypto!好多了:D

pax*_*blo 14

如果存在贬值风险,这不是您应该做的事情."最近使用的程序"属于计算机的所有者,而不是您的程序.

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

Raymond Chen已经做了很多文章,为什么这类事情是个坏主意.

这在所有其他坏主意中如此:

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

更新:

你可能想尝试几件事.

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