Click here to Skip to main content
15,904,415 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
i want a program that can displya a list of installed programs( or softwares)on a computer
Posted

There are probably a number of ways of doing this, some more robust than others. But i believe if you look at the registry key "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall", it lists all installed programs.
Under that key, there is a list of other keys whose name is a GUID. These keys then have values in them such as the app's name, version, and other data that you will see when you view the Add/Remove Programs list in XP.

EDIT: Darn, Thaddeus Jones beat me to it.
 
Share this answer
 
v2
Comments
Rajesh R Subramanian 6-Dec-10 3:25am    
That's OK, you deserve a 5 as well. :)
The data you're after is in the registry in
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
Every entry there has a member string called DisplayName with the name of the program.

To access the registry from within your program, you'll want to use these functions:
RegOpenKeyEx[^] to open HKEY_LOCAL_MACHINE
RegQueryInfoKey[^] to open \SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
RegEnumKeyEx[^] to loop through all the installed programs
RegEnumValue[^] to loop through all the available data on this program
RegQueryValueEx[^] if you know in advance which value you want to read (e.g. DisplayName).
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900