You just need to call the function WLHardwareGetId and protect your application. WLHardwareGetId will return the real hardware ID when it’s protected.
Please, notice that the Hardware ID is different if you protect with the “Ring-0 option” enabled or disabled (In the Protection Options panel). If your application is protected with the option Ring0 disabled, your application which calls the WLHardwareGetId function must also be protected with the Ring0 option disabled. Of course, you can also call the “WLGetHardwareId” function from your main application (so, no need to ship a different application to get the Hardware ID of your customers)
If you plan to lock your licenses to a U3 USB device, you have to protect your main application and the application which calls WLGetHardwareId with the option “U3 USB locking” enabled in both (in the Hardware Lock panel)
You can download an application already compiled and protected which calls the WLGetHardwareId from:
Inside the ZIP file, you can find 3 different applications to get the Hardware ID, depending if the Hardware ID is obtained with the option “Ring-0” enabled, disabled or you want the U3 USB hardware ID.