Quick ideas for activation
-
I have a finished implementation for activation that relies on the manufacturer assigned non-changable serial number of a hard drive. During testing I discovered that my method of discovering this number does not work on all versions of Windows that are going to be supported. The WMI claass Win32_PhysicalMedia does not exist in Win2k. The workaround for this is also very painful, requiring DeviceIoControl and probably administrative priveleges at runtime. I noticed that there is Wmi32_BaseBoard class that provides a serial number. However, not all motherboard provide this information (driver code never sets the number). What is a good, simply way to identify a machine that works consistently on Windows 2000 and newer? Alex Korchemniy
-
I have a finished implementation for activation that relies on the manufacturer assigned non-changable serial number of a hard drive. During testing I discovered that my method of discovering this number does not work on all versions of Windows that are going to be supported. The WMI claass Win32_PhysicalMedia does not exist in Win2k. The workaround for this is also very painful, requiring DeviceIoControl and probably administrative priveleges at runtime. I noticed that there is Wmi32_BaseBoard class that provides a serial number. However, not all motherboard provide this information (driver code never sets the number). What is a good, simply way to identify a machine that works consistently on Windows 2000 and newer? Alex Korchemniy
get the MAC address from the wired network card. How To Get the MAC Address for an Ethernet Adapter[^]
-
I have a finished implementation for activation that relies on the manufacturer assigned non-changable serial number of a hard drive. During testing I discovered that my method of discovering this number does not work on all versions of Windows that are going to be supported. The WMI claass Win32_PhysicalMedia does not exist in Win2k. The workaround for this is also very painful, requiring DeviceIoControl and probably administrative priveleges at runtime. I noticed that there is Wmi32_BaseBoard class that provides a serial number. However, not all motherboard provide this information (driver code never sets the number). What is a good, simply way to identify a machine that works consistently on Windows 2000 and newer? Alex Korchemniy
look into using following Win32 API GetVolumneInformation[^] Note that the forth parameter gives you the volume serial number that the operating system assigns when a hard disk is formatted. To programmatically obtain the hard disk's serial number that the manufacturer assigns, use the Windows Management Instrumentation (WMI) Win32_PhysicalMedia property SerialNumber. But obviously you already know that Win32_PhysicalMedia doesn't work in less than WinXP
-
get the MAC address from the wired network card. How To Get the MAC Address for an Ethernet Adapter[^]
All the network cards I own (3COM PCI, REALTEK PCIE, 3COM PCMCIA models) allow me to set the MAC-Address on my own. Yes, they DO originally have a "unique"-MAC, but its changeable. Cheers, Sebastian -- Contra vim mortem non est medicamen in hortem.
-
look into using following Win32 API GetVolumneInformation[^] Note that the forth parameter gives you the volume serial number that the operating system assigns when a hard disk is formatted. To programmatically obtain the hard disk's serial number that the manufacturer assigns, use the Windows Management Instrumentation (WMI) Win32_PhysicalMedia property SerialNumber. But obviously you already know that Win32_PhysicalMedia doesn't work in less than WinXP
GetVolumeInformation can be easily changed and does get changed after formating. I got a good suggested at ms newsgroups... using Win32_ComputerSystemProduct. Its a class that is designed to uniquely identify a computer. So far so good. Alex Korchemniy