You need to start searching at the top level of each drive and use the Directory.GetDirectories method to retrieve a list of directories that you want to compare. You will use each of these directories to keep searching for the matching directories. In pseudo-code, your algorithm will look something like this:
Function MatchDirectory - pass in a path to a folder (e.g. C:\)
Get the array of directories under this folder using <code>Directory.GetDirectories</code> using the folder path you passed in.
If there are no directories, return out of this function
For each entry in the directory array
Get the directory name (a simple search from the end of the string to the previous \ will do it).
If the directory name matches the one you're searching for, add the full name to your ListView.
Call MatchDirectory, passing in the current directory entry
End
End