Obtain the installed software and path through the registry. Instance Code : Using (registrykey key = registry. localmachine. opensubkey (@ "SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall", false) {If (key! = NULL) // determine whether the object exists {foreach (string keyname in key. getsubkeynames () // traverses the string array of the subitem name {using (registrykey key2 = key. opensubkey (keyname, false) // traverses the subitem node {If (key2! = NULL) {string softwarename = key2.getvalue ("displayname ",""). tostring (); // obtain the software name string installlocation = key2.getvalue ("installlocation ",""). tostring (); // obtain the installation path if (! String. isnullorempty (installlocation) {// Add information to the listview control listviewitem item = new listviewitem (softwarename); item. subitems. add (installlocation); listview1.items. add (item );}}}}}}}