-
Hardware Binding
Hi guys, I'm wondering if anyone can help me with a bit of an odd request.
Is there any way to bind a C++ application to the hardware; in other words, I want my application to only run on say Dell PCs or Toshiba Laptops etc.
I have concluded that there must be a way to do this because the recovery disks that come with Toshiba laptops can tell they aren't being used on a Toshiba System and refuse to run.
I have been trying to find information on this, I have searched google and google groups and even ventured into MSDN although the code MS suggested didn't work, it read info from the Registry which isn't reliable enough.
I have found various articles mentioning Windows Management Instrumentation but I would like to refrain from using it - although it does raise another question in my mind, namely how does WMI populate the information on the hardware, if it gathers information from the hardware itself then surely there must be a way to retrieve this information without using WMI as a middle man.
-
Re: Hardware Binding
Information on how to read SMBIOS data - http://www.codeguru.com/forum/showthread.php?t=459146
If you're on Vista or higher, you'll have to use GetSystemFirmwareTable() instead of accessing \Device\PhysicalMemory.
SMBIOS info: http://www.dmtf.org/standards/smbios/
gg
-
Re: Hardware Binding
You will need to detect the brand specific hardware and validate it and then take decision of continuing further.