Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can one manipulate the Start menu's "Recently Used Programs" list programmatically? [closed]

Tags:

windows

rot13

I'm looking for a way to make programs appear (frequently) used, so that they would appear in the Start menu's "Recently Used Programs" (after a zero touch install).

I'm trying to figure out how Windows stores information related to program usage frequency.

The only (maybe) related things I can see being changed when I run a program from the Start Menu, are some (seemingly undocumented) BagMRU registry keys which have no meaning to me.

I did found a way to get programs pinned, but that's not what I'm looking for here.

Update: please see the comments for explanation why I would like to do this...

Update2: I'm making progress... Now I know where they keys are stored and I know that the keys are ROT13 "encrypted". And the second 4 bytes of the values are the counter.. http://blog.didierstevens.com/2006/07/24/rot13-is-used-in-windows-you’re-joking/

This ROT13(wikipedia) encryption thing is funny. Well, of course there is a reason. They don't want you to be able to find it by simple search.

Lol, and in windows 7 they are using Vigenère crypto! much better :D

like image 900
Tarnay Kálmán Avatar asked Dec 03 '22 08:12

Tarnay Kálmán


1 Answers

At the risk of downvotes, this is not something you should be doing. The "Recently Used Programs" belongs to the owner of the computer, not your program.

If your program is as useful as you think it is, it will automagically show up there.

Raymond Chen has done quite a few articles as to why this sort of thing is a bad idea.

This rates among all those other bad ideas such as:

  • how can I force my program to be the handler for certain file types?
  • how can I keep my program always on top.
  • how can I annoy my users by making decisions for them when they previously had the power to make their own decisions as to how their software was configured? :-)

Update:

A couple of things you may want to try.

  • Copy a program (explorer.exe) to axolotl.exe and run it enough times to get it on the list. Then search the registry for it (assuming there's not another axolotl.exe somewhere on your disk).Be aware that some strings are stored as Unicode so it might not be a simple search. It also wouldn't surprise me if MS encoded them some way to make this more difficult.
  • Microsoft's sysinternals have a tool that can monitor the registry (regmon, look here, you could run that while you run a program a few times to see what gets updated when it's added to the list.
like image 125
paxdiablo Avatar answered Jan 05 '23 11:01

paxdiablo