I need to get a unique id of video card adapter. When searching in the properties of the device (using Device Manager of Windows), I notice that there is a property named Hardware Ids
as shown in image bellow.
I tried to get these Ids in my winform application. I found this method:
string VideoCardInfoID()
{
ManagementObjectSearcher objvide = new ManagementObjectSearcher("select * from Win32_VideoController");
string output = string.Empty;
foreach (ManagementObject obj in objvide.Get())
{
output += (obj["PNPDeviceID"] + "\n");
}
return output;
}
The output of this code is:
PCI\VEN_10DE&DEV_1055&SUBSYS_908A104D&REV_A1\4&F7451F8&0&0008
I have two questions:
Is PNPDeviceID of video card adapter unique across all machines? does it change when new fresh Windows installed? I know there some similar questions in stack overflow, but they does not contain a clear answers, such as this question and this question.
Why there is additional characters in the output of the
c#
function (\4&F7451F8&0&0008
)?
Update: I try install new fresh Windows and the Hardware Ids and PNPDeviceID still the same, But I still don't know if PNPDeviceID unique across all machines (I mean the same as MAC address).