Autodetect Arduino VID and PID
So, I have a program that works with Arduinos that currently can connect via the COM port numbers, and can autodetect what COM ports are used. But sadly just knowing which COM ports are used doesnt tell a user which is an arduino or really anything beyond "This COM Port is a possible arduino you could connect to". I would really like to get the PID and VID auto generated for the users too and make a panel of all the device info I can get.
I've only found 2 possible answers online anywhere that are even similar. One of which is outdated and refuses to work no matter what I do to it (it uses System.Management.ManagementClass which unity doesn't believe exists ever due to it being incompatible with a lot of systems or something).
The other uses registry keys to find COM ports associated with provided VID/PIDs but the VID and PID have to be entered in.
Is there a way I can find more information about a device on the system such as the VID/PID/etc, preferably without registry keys if at all possible?