Thank you SO much for asking this question. I am doing an identical project and this was VERY helpful.
The answers were exactly what I needed.
I suggest an edit to winglerw28's code snippet for the SysInfo() function:
systemInformation.AppendFormat("\t Drive: {0}" +
"\n\t\t VolumeLabel: {1}" +
"\n\t\t DriveType: {2}" +
"\n\t\t DriveFormat: {3}" +
"\n\t\t TotalSize: {4}" +
"\n\t\t AvailableFreeSpace: {5}\n",
DriveInfo1.Name, DriveInfo1.VolumeLabel, DriveInfo1.DriveType,
DriveInfo1.DriveFormat, DriveInfo1.TotalSize, DriveInfo1.AvailableFreeSpace);
I'm pretty sure the "DriveInfo1" references should all be changed to "drive" as follows:
systemInformation.AppendFormat("\t Drive: {0}" +
"\n\t\t VolumeLabel: {1}" +
"\n\t\t DriveType: {2}" +
"\n\t\t DriveFormat: {3}" +
"\n\t\t TotalSize: {4}" +
"\n\t\t AvailableFreeSpace: {5}\n",
drive.Name, drive.VolumeLabel, drive.DriveType,
drive.DriveFormat, drive.TotalSize, drive.AvailableFreeSpace);