Removing projects from VB2008 start page recent projects list.

Steve36445

Well-known member
Joined
Dec 23, 2007
Messages
58
Programming Experience
10+
Removing projects from VB2008 start page recent projects list.

Can you help me please?


The above list is getting clogged. How do I remove items from this list?

Thanks,

Steve
 

Steve36445

Well-known member
Joined
Dec 23, 2007
Messages
58
Programming Experience
10+
This is what I did

I tried a few suggestions from the net and ended mucking things up!

ALLWAYS BACKUP YOUR REGISTRY BEFORE MAKING CHANGES!


What SEEMS to work and I shall do in future is -

1) find the folder of the project I don't want in the list.
2) delete, move or rename it.
3) Try to launch it from the VB2008 start page
4) an error message will appear.
5) Choose to remove references to it from the list

There may be better ways, please let me know if you know of one. I offer no guarantees with this (I’m learning myself) but it seems to be safe.

Hope you have more luck than me,

Steve
 

JohnH

VB.NET Forum Moderator
Staff member
Joined
Dec 17, 2005
Messages
15,583
Location
Norway
Programming Experience
10+
ALLWAYS BACKUP YOUR REGISTRY BEFORE MAKING CHANGES!
:p

The MRU list for VB Express 2008 is in path quoted, it's the same list used for Start page and in VS File menu for Recent Projects. Note that the full Visual Studio may have MRU management, but I have not found any in Express version.
HKEY_CURRENT_USER\Software\Microsoft\VBExpress\9.0\ProjectMRUList
It contains multiple ExpandString name-value pairs named File1, File2 etc. If you delete one you have to rename the others in sequence from 1 and up. In other words boring repetetive work it is better to let the computer do. Here is an example on how to work with these values, the code opens that key, reads the first file value unexpanded, writes the same value to a new "File99" ExpandString name-value pair:
VB.NET:
Dim reg As RegistryKey = My.Computer.Registry.CurrentUser.OpenSubKey("Software\Microsoft\VBExpress\9.0\ProjectMRUList", True)        
Dim value As String = CStr(reg.GetValue("File1", "", RegistryValueOptions.DoNotExpandEnvironmentNames))
reg.SetValue("File99", value, RegistryValueKind.ExpandString)
reg.Close()
Now that you know how to read and write those values you can create an application that manages the whole MRU list, you have to use GetValueNames and design some UI where user can delete items (and perhaps reorder them?) while your app makes sure the File numbers is in sequence.
 

Steve36445

Well-known member
Joined
Dec 23, 2007
Messages
58
Programming Experience
10+
Thanks John,

It contains multiple ExpandString name-value pairs named File1, File2 etc. If you delete one you have to rename the others in sequence

Was the crucial bit I missed. I deleted the first one, lost the lot, cleaned the registry, permanently lost the lot.

ALLWAYS BACKUP YOUR REGISTRY BEFORE MAKING CHANGES!

Apart from not being very elegent, is there any reson I shouldn't use the method I describe?

Regards,

Steve
 
Top Bottom